1. 分類器評估指標
對於二分類問題,可將樣例根據其真實類別和分類器預測類別划分為:
真正例(True Positive,TP):真實類別為正例,預測類別為正例。
假正例(False Positive,FP):真實類別為負例,預測類別為正例。
假負例(False Negative,FN):真實類別為正例,預測類別為負例。
真負例(True Negative,TN):真實類別為負例,預測類別為負例。
2. 精確度,召回率,真陽性,假陽性
精確度( precision ):TP / ( TP+FP ) = TP / P
召回率(recall):TP / (TP + FN ) = TP / T
真陽性率(True positive rate):TPR = TP / ( TP+FN ) = TP / T (敏感性 sensitivity)
假陽性率(False positive rate):FPR = FP / ( FP + TN ) = FP / F (特異性:specificity)
准確率(Accuracy):Acc = ( TP + TN ) / ( P +N )
F-measure:2*recall*precision / ( recall + precision )
ROC曲線:FPR為橫坐標,TPR為縱坐標
PR曲線:recall為橫坐標,precision 為縱坐標
3. ROC圖
- 縱坐標是true positive rate(TPR) = TP / (TP+FN=P) (分母是橫行的合計)直觀解釋:實際是1中,猜對多少
- 橫坐標是false positive rate(FPR) = FP / (FP+TN=N) 直觀解釋:實際是0中,錯猜多少
4. AUC
AUC(Area Under Curve),就是這條ROC曲線下方的面積了。越接近1表示分類器越好。 但是,直接計算AUC很麻煩,但由於其跟Wilcoxon-Mann-Witney Test等價,所以可以用這個測試的方法來計算AUC。Wilcoxon-Mann-Witney Test指的是,任意給一個正類樣本和一個負類樣本,正類樣本的score有多大的概率大於負類樣本的score(score指分類器的打分)。
隨着FPR的上升,ROC曲線從原點(0, 0)出發,最終都會落到(1, 1)點。ROC便是其右下方的曲線面積。下圖展現了三種AUC的值:
AUC = 1,是完美分類器,采用這個預測模型時,不管設定什么閾值都能得出完美預測。絕大多數預測的場合,不存在完美分類器。
0.5 < AUC < 1,優於隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。
AUC = 0.5,跟隨機猜測一樣(例:丟銅板),模型沒有預測價值。
AUC < 0.5,比隨機猜測還差;但只要總是反預測而行,就優於隨機猜測,因此不存在AUC < 0.5的情況
AUC對於每一個做機器學習的人來說一定不陌生,它是衡量二分類模型優劣的一種評價指標,表示正例排在負例前面的概率。其他評價指標有精確度、准確率、召回率,而AUC比這三者更為常用。因為一般在分類模型中,預測結果都是以概率的形式表現,如果要計算准確率,通常都會手動設置一個閾值來將對應的概率轉化成類別,這個閾值也就很大程度上影響了模型准確率的計算。
我們不妨舉一個極端的例子:一個二類分類問題一共10個樣本,其中9個樣本為正例,1個樣本為負例,在全部判正的情況下准確率將高達90%,而這並不是我們希望的結果,尤其是在這個負例樣本得分還是最高的情況下,模型的性能本應極差,從准確率上看卻適得其反。而AUC能很好描述模型整體性能的高低。這種情況下,模型的AUC值將等於0(當然,通過取反可以解決小於50%的情況,不過這是另一回事了)。