結果表示方法
- TP – True Positive
- FN – False Negative
- TN – True Negative
- FP – False Positive
這里的T/F代表模型預測的正確/錯誤,而P/N則代表標簽預測的是/否(即:正樣本/負樣本)
常規指標的意義與計算方式
我們先看分類任務的四個基本評價指標:
-
准確率 - Accuracy
- 正確樣本 占 預測樣本的百分比
- Accuracy = (TP+TN)/(TP+TN+FP+FN)
-
查准率 - Precision
- 正確正樣本 占 預測正樣本的百分比
- Precision = TP/(TP+FP)
-
查全率 - Recall
- 正確正樣本 占 預測正確樣本的百分比
- Recall = TP/(TP+FN)
-
F1分數
- 由於Precision和Recall是一對Tradeoff,因此我們可以通過F1來對二者進行綜合
- F1 = (2×Precision×Recall) / (Precision+Recall)
以上四個指標在大多數場景下足以對分類模型做出准確的評估,但如果碰到一些特殊情況,那么上述指標的評估結果可能就會出現偏差,比如:當樣本數據中的負樣本占比遠超正樣本(這個場景在推薦任務中很常見)時,模型只要把輸入樣本全部分類為負樣本,那么就能得到不錯的准確率。針對這種情況,我們就需要引入一些更有針對性的評估指標,比如:ROC、AUC等
在介紹ROC和AUC之前,我們先要引入兩個概念:TPR和FPR
- TPR(真正率)= TP/(TP+FN)
- 正確樣本中,正確正樣本的占比
- FPR(假正率)= FP/(FP+TN)
- 錯誤樣本中,錯誤正樣本的占比
TPR和FPR分別是以1和0作為評價基准的,所以有時可以更准確地反映分類模型的性能,接下來,我們介紹ROC、AUC:
ROC和AUC
ROC(Receiver Operating Characteristic)曲線,又稱接受者操作特征曲線。該曲線最早應用於雷達信號檢測領域,用於區分信號與噪聲。后來人們將其用於評價模型的預測能力,ROC 曲線是基於混淆矩陣得出的。
ROC 曲線中的主要兩個指標就是真正率和假正率。其中假正率(FPR)為橫坐標,真正率(TPR)為縱坐標,如下圖所示:

分類模型在測試集上每做一次測試,我們都能得到一組TP/FP/TN/FN數據,由這些數據我們只能計算出一個TPR-FPR值對,對應在ROC曲線圖中就是一個點,因此,如果我們要得到完整的ROC曲線,就需要對模型不斷地調參,讓不同參數的模型分別在測試集上做測試,進而得到很多組TPR-FPR值對,把它們標到坐標系中,連起來,就是我們要的ROC曲線圖了:

圖中的點越接近坐標\((0,1)\)就代表該模型性能越好
AUC指的是ROC曲線下方的面積(Area Under Curve)。我們在ROC曲線圖中經常會看到一條連接原點與\((1,1)\)的輔助線,這條線其實就代表了隨機預測模型的性能,其AUC值為0.5。ROC 曲線越陡越好,所以AUC的理想值就是 1,一個正方形,而最差的隨機判斷都有 0.5,所以一般 AUC 的值會介於 0.5 到 1 之間
參考: