1. 程式人生 > >精確率 召回率 F1值 準確率 ROC曲線 AUC評價指標

精確率 召回率 F1值 準確率 ROC曲線 AUC評價指標

對於二分類問題來說,經過分類器分類後一般會出現下面四種情況(假設positive表正類,negative表負類):

  • 將正類預測為正類,記該類樣本數為TP (true positive)
  • 將正類預測為負類,記該類樣本數為FN (false negative)
  • 將負類預測為正類,記該類樣本數為FP (false positive)
  • 將負類預測為負類,記該類樣本數為TN (true negative)

混淆矩陣如下:
confusion matrix

精確率

精確率(precision):被預測成正的樣本中預測正確的比例。越接近1,預測效果越好

P=TPP=TPTP+FP

召回率

召回率(recall):原為正樣本中被正確預測的比例。越接近1,效果越好

R=TPP=TPTP+FN

F1

F1值:精確率和召回率的調和均值,即:

2F1=1P+1R
化簡得F1值:
F1=2TP2TP+FP+FN

準確率

準確率(accuracy):被正確預測的樣本數佔總樣本數的比例:

A=TP+N=TP+N=TN+TPTN+TP+FN+FP

ROC

ROC(Receiver operating characteristic curve)

再寫一下混淆矩陣:

confusion matrix

引入兩個概念真陽性率TPR(被正確判斷為正類即Positive的概率)和偽陽性率FPR(被錯誤判斷為正類的概率)

由上混淆矩陣可知:

真陽性率:

TPR=T
P
P
=TPTP+FN

偽陽性率:
FPR=FPN=FPFP+TN

對於某個二分類模型來說,一般劃分正類(positive)和負類(negative)是通過同閾值相比較來劃分的,所以說只要調整閾值的大小,就能得出多組TPR和FPR。

將得到的FPR作為橫座標,TPR作為縱座標,就可以得出對於該分類模型的ROC曲線圖了。

如對於某個二分類模型,閾值取a,b,c,d四個不同值,對於同一資料集就可以在ROC圖上得出4個不同的點,如下圖點A,B,C,D

ROC曲線圖

首先來看一下一條特殊的線 y=x,這條線上的點座標x=y(FPR=TPR),即原為正類的,預測為正類的概率等於原為負類但被預測成正類的概率。即隨機預測。

還有特殊的兩個點E,FE點的FPR=0,TPR=1說明FP=FN=0即全預測對了。F點剛好相反TN=TP=0即全預測錯了,但是F點只要反過來預測就能全對。所以EF點都是完美預測對應的點。

那對於A,B,C,D來說也一樣,離左上角或右下角越近(即離隨機預測對應的線越遠),預測的結果越理想。因此可以判斷預測結果的理想程度為:

A>B>C>D

AUC

AUC (Area under the Curve of ROC) ROC曲線下方面積

結合ROC不難得知:

  • AUC=1 完美分類器
  • 0.5<AUC<1 優於隨機分類
  • AUC=0.5 效果同隨機分類
  • 0<AUC<0.5 劣於隨機分類,但只要反著分類就優於隨機分類
  • AUC=0 反著預測就是完美分類器

參考