predict Positive | predict Negative | ||
---|---|---|---|
real Positive | TP | FN | num of real positive= |
real Negative | FP | TN | num of real negative= |
predicted num of postitive | predicted num of negative |
-
精確率(查準率) = 分類正確的正樣本個數佔分類器判定爲正樣本的樣本個數的比例。
-
召回率(查全率) = 分類正確的正樣本個數佔真正的正樣本個數的比例。
Precision值和Recall值是既矛盾又統一的兩個指標,爲了提高Precision值,分類器需要儘量在“更有把握”時才把樣本預測爲正樣本,但此時往往會因爲過於保守而漏掉很多“沒有把握”的正樣本,導致Recall值降低。
1. P-R(Precision-Recall)曲線
-
P-R曲線的橫軸是召回率R,縱軸是精確率P
-
P-R曲線上的一個點代表着,在某一閾值下,模型將大於該閾值的結果判定爲正樣本,小於該閾值的結果判定爲負樣本(即高分爲正樣本,相當於排序,得分前幾名爲正樣本,或者說是我們想要的搜索結果),此時返回結果對應的召回率和精確率。
左邊曲線起始附近代表當閾值最大時模型的精確率和召回率。越往右表示閾值越小。
-
即開始閾值很大,判定結果可能幾乎沒有正樣本,即無論正負都判定爲負,,,所以召回率趨近於0,而準確率因爲判定爲正樣本的個數爲0、正確判斷爲正樣本的個數也爲0,或者說對於正樣本的確定“錙銖必較”,只有預測數值特別高的才認爲是正樣本,這樣的高要求得到的正樣本是真的正樣本的概率就會趨近於1,所以準確率趨近於1;
-
而當曲線往右走,閾值很小,即對於正樣本的判定要求變得很鬆,幾乎將所有的判定爲正樣本,,則此時就可能將所有的真正樣本都挖掘出來,召回率趨近於1;而由於所有樣本都判定爲正樣本,準確率則相當於是原始樣本中真實正樣本的比例。
-
只用某個點對應的精確率和召回率是不能全面地衡量模型的性能,只有通過P-R曲線的整體表現,才能夠對模型進行更爲全面的評估。
F1 score
精準率和召回率的調和平均值
2. 平方根誤差的侷限性
RMSE經常被用來衡量回歸模型的好壞
一般情況下,RMSE能夠很好地反映迴歸模型預測值與真實值的偏離程度。但在實際問題中,如果存在個別偏離程度非常大的離羣點(Outlier)時,即使離羣點數量非常少,也會讓RMSE指標變得很差。
離羣點:
認定這些離羣點是“噪聲點”的話,就需要在數據預處理的階段把這些噪聲點過濾掉
如果不認爲這些離羣點是“噪聲點”的話,就需要進一步提高模型的預測能力,將離羣點產生的機制建模進去
找一個更合適的指標來評估該模型。關於評估指標,其實是存在比RMSE的魯棒性更好的指標,比如平均絕對百分比誤差(Mean Absolute Percent Error,MAPE)
MAPE相當於把每個點的誤差進行了歸一化,降低了個別離羣點帶來的絕對誤差的影響。
3. ROC曲線
Receiver Operating Characteristic Curve/ 受試者工作特徵曲線”:相比precision、recall、F1 score、P-R曲線等,ROC曲線則有很多優點,經常作爲評估二值分類器最重要的指標之一。
predict Positive | predict Negative | ||
---|---|---|---|
real Positive | TP | FN | num of real positive= |
real Negative | FP | TN | num of real negative= |
predicted num of postitive | predicted num of negative |
-
橫座標 = 假陽性率(False Positive Rate,FPR):真的負樣本中被分類器預測爲正樣本的比例。
所有敵機來襲的事件中,每個雷達兵準確預報的概率
-
縱座標 = 真陽性率(True Positive Rate,TPR):真的正樣本中被分類器預測爲正樣本的比例。(=召回率)
所有非敵機來襲信號中,雷達兵預報錯誤成有敵機的概率
ROC曲線繪製
-
ROC曲線是通過不斷移動分類器的“截斷點”來生成曲線上的一組關鍵點的。“截斷點”指的就是區分正負預測結果的閾值。
左邊曲線起始附近代表當閾值最大,越往右表示閾值越小。
-
即開始閾值很大,判定結果可能幾乎沒有正樣本,即無論正負都判定爲負,,,即此時真、假陽性率都趨近0.
-
而當曲線往右走,閾值很小,即對於正樣本的判定要求變得很鬆,幾乎將所有的判定爲正樣本,,,即此時真實負樣本中被分爲陽性的比例爲1,真實負樣本中被分爲陽性的比例也爲1.
-
-
還有一種更直觀地繪製ROC曲線的方法
- 首先,根據樣本標籤統計出正負樣本的數量,假設正樣本數量爲,負樣本數量爲
- 接下來,把橫軸的刻度間隔設置爲,縱軸的刻度間隔設置爲
- 再根據模型輸出的預測概率對樣本進行排序(從高到低,相當於閾值從最高開始往下走,即是對應曲線最左端開始);依次遍歷樣本,同時從零點開始繪製ROC曲線
- 每遇到一個正樣本就沿縱軸方向繪製一個刻度間隔的曲線
- 每遇到一個負樣本就沿橫軸方向繪製一個刻度間隔的曲線
- 直到遍歷完所有樣本,曲線最終停在(1,1)這個點,表示遍歷了所有個正樣本和所有個負樣本,整個ROC曲線繪製完成
-
相比P-R曲線,ROC曲線有一個特點,當正負樣本的分佈發生變化時,ROC曲線的形狀能夠基本保持不變,而P-R曲線的形狀一般會發生較劇烈的變化。所以ROC曲線能夠儘量降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能。
ROC曲線的適用場景更多,被廣泛用於排序、推薦、廣告等正負樣本數量往往很不均衡領域。
4. AUC
-
AUC((Area Under ROC Curve)指的是ROC曲線下的面積大小,該值能夠量化地反映基於ROC曲線衡量出的模型性能。
-
由於ROC曲線一般都處於這條直線的上方(如果不是的話,只要把模型預測的概率反轉成1−p就可以得到一個更好的分類器),所以AUC的取值一般在0.5~1之間。
橫縱座標都表示預測爲陽性(正例),而我們希望真實正樣本被預測爲陽性的概率,高於真實負樣本被預測爲陽性的概率,所以大部分ROC曲線.
-
AUC越大,說明分類器越可能把真正的正樣本排在前面,分類性能越好。
-
AUC常常被用來作爲模型排序好壞的指標,原因在於AUC可以看做隨機從正負樣本中選取一對正負樣本,其中正樣本的得分大於負樣本的概率 !
Ref:
對於真正例率TPR,分子是得分>t裏面正樣本的數目,分母是總的正樣本數目。 而對於假正例率FPR,分子是得分>t裏面負樣本的數目,分母是總的負樣本數目。 因此,如果定義N+(t),N−(t)N+(t),N−(t)分別爲得分大於t的樣本中正負樣本數目,N+,N−N+,N−爲總的正負樣本數目, 那麼TPR和FPR可以表達爲閾值t的函數
考慮隨機取得這對正負樣本中,負樣本得分在之間的概率爲
如果很小,那麼該正樣本得分大於該負樣本的概率爲
所以
注意積分區間,對應ROC圖像最右上角的點,而對應ROC圖像最左下角的點。所以,計算面積是。 可以看出,積分項裏面實際上是這樣一個事件的概率:隨機取一對正負樣本,負樣本得分爲t且正樣本得分大於t! 因此,對這個概率微元積分就可以到正樣本得分大於負樣本的概率!