模型評估指標

2021-09-27 07:49:25 字數 4102 閱讀 1776

模型的評價指標和評價體系是建模過程中的乙個重要環節,針對不同型別的專案和模型,要合理選擇不同的評價指標和體系。下面先給出二分類模型中**值和實際值的混淆矩陣(confusion matrix)和定義,然後介紹幾種評價指標。

二分類模型的**值與實際值的結果

tp(true positive):模型**為正例(1),實際為正例(1)的觀察物件的數量。

tn(true negative):模型**為負例(0),實際為負例(0)的觀察物件的數量。

fp(false positive):模型**為正例(1),實際為負例(0)的觀察物件的數量。

fn(false negative):模型**為負例(0),實際為正例(1)的觀察物件的數量。

\[ accuracy = \frac \]

正確率和錯誤率是相對的兩個概念,通常我們把分類錯誤的樣本數佔樣本總數的比例稱為錯誤率(error rate)。

\[ sensitivity = \frac \]

\[ specificity = \frac \]

\[ r = recall = \frac \]

\[ p = precision = \frac \]

\[ f_1 = \frac \]

查全率和查準率是一對矛盾的度量。一般來說,查準率高時,查全率往往偏低;而查全率高時,查準率往往偏低。

在一些應用中,對查準率和查全率的重視程度有所不同。例如在商品推薦系統中,為了盡可能少打擾使用者,更希望推薦內容確是使用者感興趣的,此時查準率更重要;而在逃犯資訊檢索系統中,更希望盡可能少的漏掉逃犯,此時查全率更重要。

查全率和查準率是兩個度量,如果同時有 a 和 b 兩個學習器,如何去判斷哪個模型更好呢?\(f_1\) 度量是查全率和查準率的調和平均(如下),可以用這個指針對兩個學習器作比較。

\[ \frac = \frac * (\frac + \frac) \]

\(f_1\)度量的一般形式——\(f_\beta\) ,能讓我們表達出對查準率/查全率的不同偏好,它定義為

\[ f_\beta = \frac \]

其中 \(\beta > 0\) 度量了查全率對查準率的相對重要。 \(\beta = 1\) 退化為標準的 \(f_1\) ;\(\beta > 1\) 時查全率有更大影響;\(\beta < 1\) 時查準率有更大影響。

roc 全稱是「受試者工作特徵」曲線,它源於「二戰」中用於敵機檢測的雷達訊號分析技術。

roc曲線的縱軸是「真正例率」(true positive rate,簡稱 tpr),橫軸是「假正例率」(false positive rate,簡稱 fpr),兩者的定義為:

\[ tpr = \frac \]

\[ fpr = \frac \]

圖(a)給出了乙個示意圖,顯然,對角線對應於「隨機猜測」模型,而點 (0, 1) 則對應於將所有正例排在所有反例之前的「理想模型」。

顯示任務中通常是利用有限個測試樣例來繪製roc圖,此時僅能獲得有限個(真正例率,假正例率)座標對,無法產生圖(a)中的光滑 roc 曲線,只能繪製出如圖(b)所示的近似 roc 曲線。繪圖過程很簡單:給定 \(m^+\) 個正例和 \(m^-\) 個反例,根據學習器**概率對樣例進行排序,然後把分類閾值設為最大,即把所有樣例均**為反例,此時真正例率和假正例率均為0,在座標(0, 0)處標記乙個點。然後,將閾值依次設為每個樣例的**值,即依次將每個樣例劃分為正例。設前乙個標記點左邊為 \((x, y)\) ,當前若為真正例,則對應標記點的座標為\((x, y + \frac)\);當前若為假正例,則對應標記點的座標為\((x + \frac, y)\),然後用線段連線相鄰點即得。

若乙個學習器的 roc 曲線被另乙個學習器的曲線完全「包住」,則可斷言後者的效能優於前者;若兩個學習器的 roc 曲線發生交叉,則難以一般性的斷言兩者孰優孰劣。此時如果一定要進行比較,則教為合理的判斷依據是比較 roc 曲線下的面積,即 auc。

ks值是比較常用的一種判斷二分類(**)模型準確度的方法,該方法**於統計學中的 kolmogorov-smirnov test。 ks值越大,表示模型對正、負樣本的區分度越高。通常來講,ks值(在測試集上)大於0.2表示模型有比較好的**準確度。

ks值計算方法:

將測試集裡所有的樣本根據模型**概率值由大到小順序排序;

分別計算每個概率值(從高到低)所對應的實際上為正、負樣本的累計值,以及他們佔全體測試樣本實際為正(tp + fn)、負(tn + fp)的總數量的百分比;

將這兩種累計百分比繪製在同一張圖上,得到ks曲線;

ks值 = max。

以上步驟對應:

按照概率值大小排序;

計算 tpr 和 fpr;

繪製 tpr 和 fpr 曲線;

gini係數是20世紀初義大利學者科拉多·基尼根據勞倫茨曲線所定義的判斷年收入分配公平程度的指標。是比例數值,在0和1之間。在民眾收入中,如基尼係數最大為「1」,最小為「0」。前者表示居民之間的年收入分配絕對不平均(即該年所有收入都集中在乙個人手裡,其餘的國民沒有收入),而後者則表示居民之間的該年收入分配絕對平均,即人與人之間收入絕對平等,這基尼係數的實際數值只能介於這兩種極端情況,即0~1之間。基尼係數越小,年收入分配越平均,基尼係數越大,年收入分配越不平均。

設下圖中的實際收入分配曲線(紅線)和收入分配絕對平等線(綠線)之間的面積為a,和收入分配絕對不平等線(藍線)之間的面積為b,則表示收入與人口之間的比例的基尼係數為\(\frac \)。

在模型評價中,將模型**違約概率由低到高排列,計算(累計違約使用者數量/總體違約使用者數量)*100%,按以上方法計算gini係數。

lift值

二分類(**)模型在具體的業務場景中,都有乙個random rate(基於已有業務的真實的正比例,也稱為「正」時間的隨機響應概率)。如果通過建模得到乙個不錯的**模型,那麼將**概率值從高到低排序中,排名靠前的樣本中,真正的「正」樣本在累計的總觀察值裡的佔比應該是高於 random rate 的。

舉例來說,某二院分類(**)模型針對10000名潛在使用者打分(**其購買某產品的可能性),random rate 為 9%,即其中有900人會實際購買該產品,將這10000名使用者經過模型打分後所得的概率分數從高到低進行排序,如果排名前 10% 的使用者,即1000名概率最高的使用者裡實際購買產品的使用者數量為600人,那麼與random rate相比較,可得出排名前10%的使用者其實際購買率的lift值為6.67。

\[ \frac = 6.67 \]

響應率

響應率是指上述經過概率分數排序後的某區間或累計區間觀察物件中,屬於正的觀察物件佔該區間或該累計區間總體觀察物件數量的百分比。所以,響應率越大,說明在該區間或累計區間模型的**準確度越高。

捕獲率

響應率是指上述經過概率分數排序後的某區間或累計區間觀察物件中,屬於正的觀察物件佔全體觀察物件中屬於正的總數的百分比。

模型的好壞,不僅要考察其在訓練集和驗證集的表現,還要對模型的穩定性進行評估。

考察穩定性最好的辦法就是抽取另乙個時間視窗的資料(最好是最新時間的資料),通過模型在這些新資料上的表現來與之前在訓練集和測試集上的表現進行比較,看模型的穩定性,其效果衰減幅度是否可以接受,如果條件許可,最好用幾個不同時間視窗的資料分別進行觀察比較。

模型評估指標

label 0 label 1 prcdict 0 tp真陽性 fn假陰性 漏診 predict 1 fn假陰性 誤診 tn真陰性 acc tp tn tp fn fp tn 被正確 的樣本 所有樣本 用來衡量模型的漏診率 sensitive tp tp fn tp ground ture p 真陽...

kmeans及模型評估指標 模型的評估指標

想必大家都知道,構建機器學習模型就是為了能夠更好的訓練我們的資料集,使得模型的準確率達到最大,那麼當我們構建好了我們的學習模型,可以通過哪些指標來評估我們模型的好壞呢?這就是我今天要給大家介紹的內容。一.精確率與召回率 1.混淆矩陣 在分類過程中,結果與正確標記之間存在四種不同的組合,構成了混淆矩陣...

模型評估常用指標

一般情況來說,單一評分標準無法完全評估乙個機器學習模型。只用good和bad偏離真實場景去評估某個模型,都是一種欠妥的評估方式。下面介紹常用的分類模型和回歸模型評估方法。分類模型常用評估方法 指標 描述scikit learn函式 precision 精準度from sklearn.metrics ...