在Excel中作ROC曲線

來源:互聯網
上載者:User

分類模型嘗試將各個執行個體(instance)劃歸到某個特定的類,而分類模型的結果一般是實數值,如羅吉斯迴歸,其結果是從0到1的實數值。這裡就涉及到如何確定閾值(threshold value),使得模型結果大於這個值,劃為一類,小於這個值,劃歸為另一類。

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

列聯表如下表所示,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 / (TP + FN),刻畫的是分類器所識別出的正執行個體占所有正執行個體的比例。另外一個是負正類率(false positive rate, FPR),計算公式為FPR= FP / (FP + TN),計算的是分類器錯認為正類的負執行個體占所有負執行個體的比例。還有一個真負類率(True Negative Rate,TNR),也稱為specificity,計算公式為TNR=TN / (FP + TN) = 1 − FPR

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

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

下表是一個羅吉斯迴歸得到的結果。將得到的實數值按大到小劃分成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中作散佈圖。得到ROC曲線如下


對角線反映的是隨機播放的結果,此對角線作為對照線。到底該怎樣選擇閥值呢,這涉及到了AUC(Area Under the ROC Curve,ROC曲線下的面積)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.