評價指標-精確率、召回率、ROC曲線


當我們訓練好一模型之后,如何判斷模型的好壞呢,這就需要用到評價指標(evaluation metrics)。下面介紹一下在二分類任務中的一些評價指標。

真實-Positive(正方形左側) 真實-Negative(正方形右側)
預測-Positive(圓形內) TP(True Positive) FP(False Positve)
預測-Negative(圓形外) FN(False Negative) TN(True Negative)

image

准確率(accuracy)

准確率的計算公式是:

\[accuracy = \frac{TP+TN}{總樣本數} \]

即類別預測正確的樣本在總樣本數據的占比。

精確率(precision)與召回率(recall)

精確率與召回率往往一起使用的,將兩者結合的指標就是F1-score。

如果提高閥值,精確率會不斷提高,對就上圖理解的話,可以理解成圓形變小並向左移動了。

如果縮小閥值,召回率會不斷提高,對就上圖理解的話,可以理解成圓形變大並向右移動了。

\[Precision = \frac{TP}{TP+FP} \\ Recall = \frac{TP}{FN+TP} \]

Precision vs Accuracy

precision與accuracy的區別可以這樣理解,如果是在多分類的任務中,accuracy只有一個,就是類別使用正確的樣本數量在總體樣本的占比;而precision在每一個類別上是單獨計算的,如果要合成一個指標只能取各個類別的平均值。
另外一個例子是:假如一個測試集有正樣本1個,負樣本99個。我們設計的模型是個無腦模型,即把所有的樣本都預測為負樣本,那這個模型的accuracy是99%而precision是0%。當然如果正樣本99,負樣本1,全部預測為正樣本,那兩者都是99%。可以看出precision更側重正樣本,而accuracy並無側重。

ROC曲線與AUC

image

TRP的解釋是,在所有正例中有多少正例被預測對了;
FPR的解釋是,在所有負例中有多少負例被預測錯了;

\[TRP = \frac{TP}{FN+TP} \\ FPR = \frac{FP}{TN+FP} \]

ROC曲線的計算步驟:

  1. 對所有測試樣例進行預測
  2. 將有有樣例按得分從大到小排序
  3. 從上到下分別取閥值並計算TRP和FPR
  4. 將所有TRP和FPR點畫到坐標上

如果一條ROC曲線完全包含另一個ROC曲線,則說明前者的性能比后者好;那如果兩條ROC曲線是交叉的該如何比較這兩者呢?比較合理的判斷依據是ROC曲線的面積,即AUC(Area Under ROC Curve)。

AUC的計算方式在這里就不詳述了,在不同的機器學習相關的包都有相應API提供。

主要參考

https://www.cnblogs.com/rossiXYZ/p/13166899.html#0x01-本文緣由


免責聲明!

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



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