【轉】常用的風控算法模型評價指標

原文鏈接:http://blog.csdn.net/tkingreturn/article/details/17640599

1. 基本概念

   
FN TP
TN FP

TP —— True Positive (真正, TP)被模型預測爲正的正樣本;可以稱作判斷爲真的正確率 
TN —— True Negative(真負 , TN)被模型預測爲負的負樣本 ;可以稱作判斷爲假的正確率 
FP ——False Positive (假正, FP)被模型預測爲正的負樣本;可以稱作誤報率 
FN—— False Negative(假負 , FN)被模型預測爲負的正樣本;可以稱作漏報率

True Positive Rate(真正率 , TPR)或靈敏度(sensitivity) 
   TPR = TP /(TP + FN) 
  正樣本預測結果數 / 正樣本實際數 
True Negative Rate(真負率 , TNR)或特指度(specificity) 
   TNR = TN /(TN + FP) 
  負樣本預測結果數 / 負樣本實際數 
False Positive Rate (假正率, FPR) 
  FPR = FP /(FP + TN) 
  被預測爲正的負樣本結果數 /負樣本實際數 
False Negative Rate(假負率 , FNR) 
  FNR = FN /(TP + FN) 
  被預測爲負的正樣本結果數 / 正樣本實際數

Precision:P=TP/(TP+FP) 精準率(查準率) 
Recall:R=TP/(TP+FN) 召回率(查全率 ) 
精確率是針對我們預測結果而言的,它表示的是預測爲正的樣本中有多少是真正的正樣本。那麼預測爲正就有兩種可能了,一種就是把正類預測爲正類(TP),另一種就是把負類預測爲正類(FP),而召回率是針對我們原來的樣本而言的,它表示的是樣本中的正例有多少被預測正確了。那也有兩種可能,一種是把原來的正類預測成正類(TP),另一種就是把原來的正類預測爲負類(FN)。其實就是分母不同,一個分母是預測爲正的樣本數,另一個是原來樣本中所有的正樣本數

F1-score:2/(1/P+1/R) 
ROC/AUC:TPR=TP/(TP+FN), FPR=FP/(FP+TN) 
 其中查全率有更大影響,查準率有更大影響。退化爲F1 
2. ROC、AUC和PRC 
ROC(receiver operating characteristic curve)是曲線。也就是下圖中的曲線。AUC也就是藍色線與FPR圍成的面積。一般來說,如果ROC是光滑的,那麼基本可以判斷沒有太大的overfitting(比如圖中0.2到0.4可能就有問題,但是樣本太少了),這個時候調模型可以只看AUC,面積越大一般認爲模型越好。 
這裏寫圖片描述

PRC, precision recall curve。和ROC一樣,先看平滑不平滑(藍線明顯好些),在看誰上誰下(同一測試集上),一般來說,上面的比下面的好(綠線比紅線好)。F1當P和R接近就也越大,一般會畫連接(0,0)和(1,1)的線,線和PRC重合的地方的F1是這條線最大的F1(光滑的情況下),此時的F1對於PRC就好象AUC對於ROC一樣。一個數字比一條線更方便調模型。 
這裏寫圖片描述

有時候模型沒有單純的誰比誰好(比如圖二的藍線和青線),那麼選擇模型還是要結合具體的使用場景。

下面是兩個場景: 
1. 地震的預測 
對於地震的預測,我們希望的是RECALL非常高,也就是說每次地震我們都希望預測出來。這個時候我們可以犧牲PRECISION。情願發出1000次警報,把10次地震都預測正確了;也不要預測100次,對了8次漏了2次。 
2. 嫌疑人定罪 
基於不錯怪一個好人的原則,對於嫌疑人的定罪我們希望是非常準確的。及時有時候放過了一些罪犯(recall低),但也是值得的。

對於分類器來說,本質上是給一個概率,此時,我們再選擇一個CUTOFF點(閥值),高於這個點的判正,低於的判負。那麼這個點的選擇就需要結合你的具體場景去選擇。反過來,場景會決定訓練模型時的標準,比如第一個場景中,我們就只看RECALL=99.9999%(地震全中)時的PRECISION,其他指標就變得沒有了意義。

如果只能選一個指標的話,肯定是選PRC了。

3.註釋 
mark1:在一些應用中,對精準率(查準率)和召回率(查全率 )重視程度不同,如商品推薦系統中,爲了儘可能少打擾用戶,更希望推薦的內容確實是用戶比較感興趣的,此時精準率(查準率)比較重要;在逃犯信息檢索系統中,更希望儘量可能少漏掉逃犯,此時召回率(查全率 )比較重要; 
mark2:ROC比PRC效果好這個結論的切入點: 
對於同一份數據不同的模型來說,由於ROC同時考慮了兩個類別上的準確率,效果比PRC要好;PRC由於僅考慮正樣本,如果分佈失衡,容易造成某個模型的PRC很高,但其實是在樣本量大的那個類別“帶偏”了; 
mark3:PRC比ROC效果好這個結論的切入點: 
對於同一份數據同一個的模型來說(就只有一個模型,一個ROC,一個PRC),因爲ROC對類分佈不敏感,就容易造成一個看似比較高的AUC對應的分類效果實際上並不好;而PRC就會波動非常大,以一個很“激烈”的方式表現出效果的不好。

某個模型AUC本身值的大小其實是不重要的,重要的是跟其他模型在同一份數據集上的AUC的大小關係,相對較大的那個更好。而PRC由於波動劇烈,即使不同模型在不同數據集上,也能看出一定的效果。(但其實對建立在不同數據上的不同模型,或者僅僅對某一個模型,僅靠PRC或者AUC來決定哪個好哪個差,這種方法本身就是不正確的。)

轉載自:http://blog.csdn.net/guhongpiaoyi/article/details/53289229

 

一、假正例和假負例

 

假正例(False Positive):預測爲1,實際爲0的樣本

假負例(False Negative):預測爲0,實際爲1的樣本

實際預測中,那些真正例(True Positive)和真負例(True Negative)都不會造成損失(cost)。

那麼,我們假設一個假正例的損失是LFP,一個假負例的損失是LFN。

我們可以得到一個損失矩陣:

  y^=1 y^=0
y=1 0 LFN
y=0 LFP 0

其中,y是真實值,y^是預測值。

那麼,我們可以得到一個樣本的後驗期望損失:

clip_image002

clip_image002[6]

clip_image002[8]的時候,我們會預測結果爲y^1=1,此時

clip_image002[10]

假設,clip_image002[12],那麼我們可以得到決策規則:

clip_image002[14]

其中,clip_image002[16],也就是我們的決策邊界。

 

例如,c=1時,我們對假正例和假負例同等對待,則可以得到我們的決策邊界0.5。

 

二、ROC曲線

 

1.混淆矩陣(confusion matrix)

 

    針對預測值和真實值之間的關係,我們可以將樣本分爲四個部分,分別是:

    真正例(True Positive,TP):預測值和真實值都爲1

    假正例(False Positive,FP):預測值爲1,真實值爲0

    真負例(True Negative,TN):預測值與真實值都爲0

    假負例(False Negative,FN):預測值爲0,真實值爲1

    我們將這四種值用矩陣表示(圖片引自《machine learning:A Probabilistic Perspective》):

    image

    上面的矩陣就是混淆矩陣。

   2.ROC曲線

     通過混淆矩陣,我們可以得到真正例率(True Positive Rate , TPR):

    clip_image002

    我們還可以得到假正例率(False Positive Rate  , FPR):

    clip_image002[5]

    可以看到,TPR也就是我們所說的召回率,那麼只要給定一個決策邊界閾值clip_image002[7],我們可以得到一個對應的TPR和FPR值,然而,我們不從這個思路來簡單的得到TPR和FPR,而是反過來得到對應的clip_image002[9],我們檢測大量的閾值clip_image002[7],從而可以得到一個TPR-FPR的相關圖,如下圖所示(圖片引自《machine learning:A Probabilistic Perspective》):

image

    圖中的紅色曲線和藍色曲線分別表示了兩個不同的分類器的TPR-FPR曲線,曲線上的任意一點都對應了一個clip_image002[9]值。該曲線就是ROC曲線(receiver operating characteristic curve)。該曲線具有以下特徵:

  • 一定經過(0,0)點,此時clip_image002[13],沒有預測爲P的值,TP和FP都爲0

  • 一定經過(1,1)點,此時clip_image002[15],全都預測爲P

  • 最完美的分類器(完全區分正負樣例):(0,1)點,即沒有FP,全是TP

  • 曲線越是“凸”向左上角,說明分類器效果越好

  • 隨機預測會得到(0,0)和(1,1)的直線上的一個點

  • 曲線上離(0,1)越近的點分類效果越好,對應着越合理的clip_image002[9]

    從圖中可以看出,紅色曲線所代表的分類器效果好於藍色曲線所表示的分類器。

3.利用ROC的其他評估標準

  • AUC(area under thecurve),也就是ROC曲線的下夾面積,越大說明分類器越好,最大值是1,圖中的藍色條紋區域面積就是藍色曲線對應的 AUC
  • EER(equal error rate),也就是FPR=FNR的值,由於FNR=1-TPR,可以畫一條從(0,1)到(1,0)的直線,找到交點,圖中的A、B兩點。

轉載自:http://blog.csdn.net/tkingreturn/article/details/17640599

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章