ROC曲線-閾值評價標準

 ROC曲線指受試者工作特徵曲線 / 接收器操作特性曲線(receiver operating characteristic curve), 是反映敏感性和特異性連續變量的綜合指標,是用構圖法揭示敏感性和特異性的相互關係,它通過將連續變量設定出多個不同的臨界值,從而計算出一系列敏感性和特異性,再以敏感性爲縱座標、(1-特異性)爲橫座標繪製成曲線,曲線下面積越大,診斷準確性越高。在ROC曲線上,最靠近座標圖左上方的點爲敏感性和特異性均較高的臨界值。


ROC曲線的例子

  考慮一個二分問題,即將實例分成正類(positive)或負類(negative)。對一個二分問題來說,會出現四種情況。如果一個實例是正類並且也被 預測成正類,即爲真正類(True positive),如果實例是負類被預測成正類,稱之爲假正類(False positive)。相應地,如果實例是負類被預測成負類,稱之爲真負類(True negative),正類被預測成負類則爲假負類(false negative)。

TP:正確肯定的數目;

FN:漏報,沒有正確找到的匹配的數目;

FP:誤報,給出的匹配是不正確的;

TN:正確拒絕的非匹配對數;

  列聯表如下表所示,1代表正類,0代表負類。
  
    預測  
    1 0 合計
實際 1 True Positive(TP) False Negative(FN) Actual Positive(TP+FN)
  0 False Positive(FP) True Negative(TN) Actual Negative(FP+TN)
合計   Predicted Positive(TP+FP) Predicted Negative(FN+TN) TP+FP+FN+TN

從列聯表引入兩個新名詞。其一是真正類率(true positive rate ,TPR), 計算公式爲TPR=TP/ (TPFN),刻畫的是分類器所識別出的 正實例佔所有正實例的比例。另外一個是負正類率(false positive rate, FPR),計算公式爲FPR= FP / (FP + TN),計算的是分類器錯認爲正類的負實例佔所有負實例的比例。還有一個真負類率(True Negative Rate,TNR),也稱爲specificity,計算公式爲TNR=TN/ (FPTN) = 1-FPR


其中,兩列True matches和True non-match分別代表應該匹配上和不應該匹配上的

兩行Pred matches和Pred non-match分別代表預測匹配上和預測匹配上的


  在一個二分類模型中,對於所得到的連續結果,假設已確定一個閥值,比如說 0.6,大於這個值的實例劃歸爲正類,小於這個值則劃到負類中。如果減小閥值,減到0.5,固然能識別出更多的正類,也就是提高了識別出的正例佔所有正例 的比類,即TPR,但同時也將更多的負實例當作了正實例,即提高了FPR。爲了形象化這一變化,在此引入ROC,ROC曲線可以用於評價一個分類器


ROC曲線和它相關的比率

(a)理想情況下,TPR應該接近1,FPR應該接近0。

ROC曲線上的每一個點對應於一個threshold,對於一個分類器,每個threshold下會有一個TPR和FPR

比如Threshold最大時,TP=FP=0,對應於原點;Threshold最小時,TN=FN=0,對應於右上角的點(1,1)

(b)P和N得分不作爲特徵間距離d的一個函數,隨着閾值theta增加,TP和FP都增加


  Receiver Operating Characteristic,翻譯爲"接受者操作特性曲線",夠拗口的。曲線由兩個變量1-specificity 和 Sensitivity繪製. 1-specificity=FPR,即負正類率。Sensitivity即是真正類率,TPR(True positive rate),反映了正類覆蓋程度。這個組合以1-specificity對sensitivity,即是以代價(costs)對收益(benefits)。

       此外,ROC曲線還可以用來計算“均值平均精度”(mean average precision),這是當你通過改變閾值來選擇最好的結果時所得到的平均精度(PPV).

  下表是一個邏輯迴歸得到的結果。將得到的實數值按大到小劃分成10個個數 相同的部分。
  
Percentile 實例數 正例數 1-特異度(%) 敏感度(%)
10 6180 4879 2.73 34.64
20 6180 2804 9.80 54.55
30 6180 2165 18.22 69.92
40 6180 1506 28.01 80.62
50 6180 987 38.90 87.62
60 6180 529 50.74 91.38
70 6180 365 62.93 93.97
80 6180 294 75.26 96.06
90 6180 297 87.59 98.17
100 6177 258 100.00 100.00
其正例數爲此部分裏實際的正類數。也就是說,將邏輯迴歸得到的結 果按從大到小排列,倘若以前10%的數值作爲閥值,即將前10%的實例都劃歸爲正類,6180個。其中,正確的個數爲4879個,佔所有正類的 4879/14084*100%=34.64%,即敏感度;另外,有6180-4879=1301個負實例被錯劃爲正類,佔所有負類的1301 /47713*100%=2.73%,即1-特異度。以這兩組值分別作爲x值和y值,在excel中作散點圖。
發佈了49 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章