Data Mining | 二分類模型評估-混淆矩陣


 

1 二分類模型評估

1.1 混淆矩陣

在完成機器學習建模之后,我們需要用一些指標,來度量模型性能的好壞(即模型的泛化能力),以便對比不同模型,從而知道哪個模型相對好,哪個模型相對差,並通過這些指標來進一步調參逐步優化模型。對於分類和回歸兩類有監督學習評判標准如下,這里主要討論與分類相關的一些指標。

模型類型 特點 評估指標
分類 Y是離散的 用混淆矩陣
回歸 Y是連續的 用R2、MSE、RSE,推薦R2

在評估分類模型時,可以分為二分類模型評估、多分類模型評估。但在實際應用中,我們往往是把多分類模型拆分成多個二分類模型,如下圖所示。所以,分類模型的評估,我們重點關注二分類模型評估即可。


 
混淆矩陣定義

在確定預測概率閾值的前提下,真實分類和預測分類組成的交叉表,就是混淆矩陣(Confusion Matrix)。其中,用1、0代表正例、負例,因為1和0是數字,閱讀性不好,所以我們分別用P和N表示1和0兩種結果。變換之后為PP,PN,NP,NN,閱讀性也很差,並不能輕易地看出來預測的正確性與否。因此,為了能夠更清楚地分辨各種預測情況是否正確,我們將其中一個符號修改為T和F,以便於分辨出結果,即:

  • P(Positive):代表1
  • N(Negative):代表0
  • T(True):代表預測正確
  • F(False):代表錯誤

 
按照上面的字符表示重新分配矩陣,就得到最終的形式,詳見下圖。具體的解讀:①先看預測結果(P/N),②再根據實際表現對比預測結果,給出判斷結果(T/F)。

  • TP(True Positive):預測為1,預測正確,即實際1,真正例
  • FP(False Positive):預測為1,預測錯誤,即實際0,假正例
  • FN(False Negative):預測為0,預測錯誤,即實際1,假負例
  • TN(True Negative):預測為0,預測正確,即實際0,真負例

評估分類模型的指標有很多,且全都能用TP、FN、FP、TN表示出來。因為很多指標有不同中文翻譯,為避免混淆,后面所有指標都用英文表示。混淆矩陣在商業領域最常用的指標有5個。

 

1.1.1 ACC

ACC(Accuracy),又稱准確率,指預測正確的結果占總樣本的百分比。其公式如下:

ACC = (TP+TN) / (TP+TN+FP+FN)

雖然准確率可以判斷總的正確率,但是在樣本不平衡的情況下,並不能作為很好的指標來衡量結果。舉個簡單的例子,在一個總樣本中,正樣本占90%,負樣本占10%,樣本是嚴重不平衡的。對於這種情況,我們只需要將全部樣本預測為正樣本,即可得到90%的高准確率,但實際上我們並沒有很用心的分類,只是隨便一分而已。這就說明,由於樣本不平衡的問題,導致了得到的高准確率結果含有很大的水分。即如果樣本不平衡,准確率就會失效。所以衍生出了其它兩種指標:PPV、TPR,以進行補充。

 

1.1.2 PPV

PPV(Precision),又稱精確率查准率,它是針對預測結果而言的,它的含義是在所有被預測為正的樣本中實際為正的樣本的概率,意思就是在預測為正樣本的結果中,我們有多少把握可以預測正確,其公式如下:

PPV = TP / (TP+FP)

精確率和准確率看上去有些類似,但是完全不同的兩個概念。精確率代表對正樣本結果中的預測准確程度,而准確率則代表整體的預測准確程度,既包括正樣本,也包括負樣本。

 

1.1.3 TPR

TPR指標有多個別稱:Sensitivity、Recall、TPR(True Positive Rate),中文翻譯為靈敏度召回率真正例率,還有叫查全率。它的含義是在實際正樣本中被正確預測為正樣本的概率,其公式如下:

TPR = TP / (TP+FN)

召回率的應用場景:比如拿網貸違約率為例,相對好用戶,我們更關心壞用戶,不能錯放過任何一個壞用戶。因為如果我們過多的將壞用戶當成好用戶,這樣后續可能發生的違約金額會遠超過好用戶償還的借貸利息金額,造成嚴重償失。召回率越高,代表實際壞用戶被預測出來的概率越高,它的含義類似:寧可錯殺一千,絕不放過一個。

 

1.1.4 FPR

FPR指標也有多個別稱:1-SPE(Specificity)、FPR(False Positive Rate),中文譯為1-特異度假正例率,指實際負樣本中被錯誤預測為正樣本的概率,其公式如下:

FPR = FP / (FP+TN)

其中特異度(Specificity)的公式為:SPE = TN / (FP+TN)。由於我們比較關心正樣本,所以需要查看有多少負樣本被錯誤地預測為正樣本,所以使用(1-特異度),而不是特異度。

 
綜上,可以發現TPR和FPR分別是基於實際表現1和0出發的,也就是說它們分別在實際的正樣本和負樣本中來觀察相關概率問題。正因為如此,所以無論樣本是否平衡,都不會被影響。舉個例子,總樣本中,90%是正樣本,10%是負樣本。我們知道用准確率是有水分的,但是用TPR和FPR不一樣。這里,TPR只關注90%正樣本中有多少是被真正覆蓋的,而與那10%毫無關系,同理,FPR只關注10%負樣本中有多少是被錯誤覆蓋的,也與那90%毫無關系,所以可以看出:如果我們從實際表現的各個結果角度出發,就可以避免樣本不平衡的問題了,這也是為什么選用TPR和FPR作為ROC/AUC的指標,因為它們能讓ROC和AUC無視樣本不平衡。

 

1.1.5 F-Score

由前面可知:PPV是一個純度的概念,TPR是一個廣度的概念,兩者分別延伸出不同的策略:

  • 重TPR:追求廣度,穩健策略:壞賬少,利潤也低,適合發展很久的公司
  • 重PPV:追求純度,激進策略:壞賬多,利潤高,適合初創公司

很明顯兩者是不共存的關系,想要魚和熊掌兼得,就需要一個新指標來對兩者權衡,它就是F-Score,其公式如下:

其中β是一個可以調節的參數,不同的取值代表選擇不同的策略:

  • β=1:無偏好,PPV和TPR一樣重要,取值為F1-Score,取值范圍[0,1],值越大表示模型效果越好
  • β>1:偏穩健策略,重TPR,常用界值是2,即F2-Score
  • β<1:偏激進策略,重PPV,常用界值是0.5,即F0.5-Score

 
找最優閾值

通過上面的公式,我們發現:PPV和TPR(即召回率Recall)的分子是相同,都是TP,但分母是不同的,一個是(TP+FP),一個是(TP+FN)。兩者的關系可以用一個P-R曲線來展示:

首先從排序型模型說起。拿邏輯回歸舉例,邏輯回歸的輸出是一個0到1之間的概率數字,因此,如果我們想要根據這個概率判斷用戶好壞的話,我們就必須定義一個閾值。通常來講,邏輯回歸的概率越大說明越接近1,也就可以說他是壞用戶的可能性更大。比如,我們定義了閾值為0.5,即概率小於0.5的我們都認為是好用戶,而大於0.5都認為是壞用戶。因此,對於閾值為0.5的情況下,我們可以得到相應的一對PPV和TPR。

但問題是:這個閾值是我們隨便定義的,我們並不知道這個閾值是否符合我們的要求。因此,為了找到一個最合適的閾值滿足我們的要求,我們就必須遍歷0到1之間所有的閾值,而每個閾值下都對應着一對PPV和TPR,從而我們就得到了這條曲線。

那該如何找到最好的閾值點呢?因為這兩個指標是一對矛盾體,無法做到雙高。圖中明顯看到,如果其中一個非常高,另一個肯定會非常低。選取合適的閾值點要根據實際需求,即看公司的業務營銷策略。通常情況下,我們對於這兩個指標的要求是:希望PPV和TPR同時都非常高,即β=1,F-Score取值為F1-Score。反映在圖中就是斜率為0.5的虛線去和P-R曲線相交,交點既是最優閾值點,此時PPV = TPR,F1-Score公式如下:

 

1.1.6 小結

上面介紹了好幾個混淆矩陣常用指標,概念和稱呼上容易弄混;另外混淆矩陣中還有一些其他指標,為方便查找,特此做一個指標小結,常用指標如下表。

指標小結.png

 
還有些不太常用的指標見下表,推導過程略。

其他指標.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM