轉自https://blog.csdn.net/qq_26591517/article/details/80092679
1 ROC曲線的概念
受試者工作特征曲線 (receiver operating characteristic curve,簡稱ROC曲線),又稱為 感受性曲線(sensitivity curve)。得此名的原因在於曲線上各點反映着相同的感受性,它們都是對同一 信號刺激的反應,只不過是在幾種不同的判定標准下所得的結果而已。接受者操作特性曲線就是以假陽性概率(False positive rate)為 橫軸,擊中概率為縱軸所組成的坐標圖,和被試在特定刺激條件下由於采用不同的判斷標准得出的不同結果畫出的曲線。
ROC 曲線是根據一系列不同的二分類方式(分界值或決定閾),以真陽性率(靈敏度)為縱坐標,假陽性率(1-特異度)為橫坐標繪制的曲線。傳統的診斷試驗評價方 法有一個共同的特點,必須將試驗結果分為兩類,再進行統計分析。ROC曲線的評價方法與傳統的評價方法不同,無須此限制,而是根據實際情況,允許有中間狀 態,可以把試驗結果划分為多個有序分類,如正常、大致正常、可疑、大致異常和異常五個等級再進行統計分析。因此,ROC曲線評價方法適用的范圍更為廣泛。
2 ROC曲線的例子
考慮一個二分問題,即將實例分成正類(positive)或負類(negative)。對一個二分問題來說,會出現四種情況。如果一個實例是正類並且也 被 預測成正類,即為真正類(True positive),如果實例是負類被預測成正類,稱之為假正類(False positive)。相應地,如果實例是負類被預測成負類,稱之為真負類(True negative),正類被預測成負類則為假負類(false negative)。
FN:漏報,沒有正確找到的匹配的數目;
TN:正確拒絕的非匹配對數;
列聯表如下表所示,1代表正類,0代表負類。
從列聯表引入兩個新名詞。其一是真正類率(true positive rate ,TPR), 計算公式為TPR=TP/ (TP+ FN),刻畫的是分類器所識別出的 正實例占所有正實例的比例。另外一個是假正類率(false positive rate, FPR),計算公式為FPR= FP / (FP + TN),計算的是分類器錯認為正類的負實例占所有負實例的比例。還有一個真負類率(True Negative Rate,TNR),也稱為specificity,計算公式為TNR=TN/ (FP+ TN) = 1-FPR。
其中,兩列True matches和True non-match分別代表兩行Pred matches和Pred non-match分別代表匹配上和預測匹配上的
FPR = FP/(FP + TN) 負樣本中的錯判率(假警報率)
TPR = TP/(TP + TN) 判對樣本中的正樣本率(命中率)
ACC = (TP + TN) / P+N 判對准確率
在一個二分類模型中,對於所得到的連續結果,假設已確定一個閥值,比如說 0.6,大於這個值的實例划歸為正類,小於這個值則划到負類中。如果減小閥值,減到0.5,固然能識別出更多的正類,也就是提高了識別出的正例占所有正例 的比類,即TPR,但同時也將更多的負實例當作了正實例,即提高了FPR。為了形象化這一變化,在此引入ROC。
Receiver Operating Characteristic,翻譯為”接受者操作特性曲線”,夠拗口的。曲線由兩個變量1-specificity 和 Sensitivity繪制. 1-specificity=FPR,即假正類率。Sensitivity即是真正類率,TPR(True positive rate),反映了正類覆蓋程度。這個組合以1-specificity對sensitivity,即是以代價(costs)對收益 (benefits)。
此外,ROC曲線還可以用來計算“均值平均精度”下表是一個邏輯回歸得到的結果。將得到的實數值按大到小划分成10個個數 相同的部分。
其 正例數為此部分里實際的正類數。也就是說,將邏輯回歸得到的結 果按從大到小排列,倘若以前10%的數值作為閥值,即將前10%的實例都划歸為正類,6180個。其中,正確的個數為4879個,占所有正類的 4879/14084*100%=34.64%,即敏感度;另外,有6180-4879=1301個負實例被錯划為正類,占所有負類的1301 /47713*100%=2.73%,即1-特異度。以這兩組值分別作為x值和y值,在excel中作散點圖。