Precision,Recall,TPR,FPR,ROC,AUC,F1辨析

wangwang發表於2018-10-04

常見統計學習的效能指標

分類結果

  • 對於一個二分類問題,分類結果如下:

    預測 預測
    1 0 合計
    實際 1 True Positive(TP) False Negative(FN) 實際為正
    實際 0 False Positive(FP) True Negative(TN) 實際為負
    合計 預測為正 預測為負 總體

    — TP:真正類,一個例項是正類,並且被預測為正類

    — FN:假負類,一個例項是正類,但是被預測為負類,漏報

    — FP:假正類,一個例項是負類,但是被預測為正類,誤報

    — TN:真負類,一個例項是負類,並且被預測為負類

    記憶方法:第一個字母表示預測是否正確,第二個字母表示預測的結果

評價指標

  • 真正類率:True Positive Rate(TPR), Recall
    表示預測為正類並且實際是正類的例項的個數佔總體中正例項的比例,因此也稱為 靈敏度Sensitivity,通俗的理解為:正例項被正確的預測的比例

                        TPR = TP / (TP + FN)
  • 假正類率:False Positive Rate(FPR)
    表示預測為正類並且實際是負類的例項的個數佔總體中所有負類的比例,因此也稱之為 特異度,等價於 1-Specific,通俗的理解為:負例項被誤報的比例

                         FPR = FP / (FP + TN)
  • 真負類率:True Negative Rate(TNR)
    表示預測為負類並且實際是負類的例項的個數佔總體中負例項的比例,因此也稱為 specific

                          TNR = TN / (FP + TN)
  • 精確度:Precision
    表示預測為正類並且實際是正類的例項的個數佔預測為正例項的比例

                          Precision = TP / (TP + FP)
  • F1 Measure
    也稱為 F1 Score,被定義為Precision和Recall的調和平均數,計算如下:

    $$
    F1=frac{2 imes Precision imes Recall}{Precision+Recall}
    $$

    更一般地,我們定義$F_eta$如下:

    $$
    F_eta = (1+eta^2)frac{Precision imes Recall}{Precision + Recall}
    $$

    除F1之外,在統計學中,$F_2$和$F_{0.5}$也得到了大量的應用,$F_2$中Recall的權重比較大,而在$F_{0.5}$中,Precision的權重比較大。

  • ROC:Recevier Operating Characteristic,受試者工作特徵曲線 / 接收器操作特徵曲線
    曲線上的每個點反映著對同一訊號刺激的感受性,因此也被稱之為 感受性曲線(Sensitivity Curve)

    • X軸:負正類率(FPR,特異度,1-Specific)
    • Y軸:真正類率(TPR,靈敏度,Sensitivity,Recall)
  • AUC:Aera Under Curve,即ROC曲線下的面積
    這個面積顯然不會大於1,又因為ROC曲線一般都在y=x這條直線上方,所以AUC的值域為(0, 1)
    使用AUC作為評價指標是因為很多時候我們並不能夠從ROC曲線上清晰準確地判斷哪個分類器的效能更好,而作為一個數值,AUC越大,對應的分類器的效能越好。AUC的計算可以參考 scikit-learn的實現。

為什麼使用ROC曲線?

因為當測試集中的正負樣本的分佈發生變化的時候,ROC曲線能夠保持不變,因此能夠更客觀的進行分類器效能的評價

相關文章