1. 什么是ROC曲線
接受者操作特性曲線(receiver operating characteristic curve,簡(jiǎn)稱ROC曲線)妈嘹,又稱為感受性曲線(sensitivity curve)借尿。接受者操作特性曲線就是以虛驚概率為橫軸,擊中概率為縱軸所組成的坐標(biāo)圖。因此钢悲,ROC曲線越靠近坐標(biāo)的左上角越好。
2.混淆矩陣
對(duì)于一個(gè)二分類問(wèn)題舔株,它有四種情況:
如果一個(gè)實(shí)例是正類莺琳,它被分為正類,記為 真正(True Positive)载慈;
如果一個(gè)實(shí)例是正類惭等,它被分為負(fù)類,記為 假負(fù)(False Negative)办铡;
如果一個(gè)實(shí)例是負(fù)類辞做,它被分為正類琳要,記為 假正(False Positive);
如果一個(gè)實(shí)例是負(fù)類秤茅,它被分為負(fù)類稚补,記為 真負(fù)(True Negative)。
在表格中可以表示為:
真實(shí)1 | 真實(shí)0 | |
---|---|---|
預(yù)測(cè)1 | TP | FP |
預(yù)測(cè)0 | FN | TN |
TP:正確肯定的數(shù)目框喳;
FN:漏報(bào)课幕,沒有正確找到的匹配的數(shù)目;
FP:誤報(bào)五垮,給出的匹配是不正確的乍惊;
TN:正確拒絕的非匹配對(duì)數(shù);
由此我沒可以引入兩個(gè)新名詞:
真正類率(True Positive Rate, TPR)拼余,表示分類器所識(shí)別出的 正實(shí)例占所有正類的比例污桦,計(jì)算公式為:
另一個(gè)是假正類率(False Positive Rate, FPR),表示分類器錯(cuò)認(rèn)為正類的負(fù)實(shí)例占所有負(fù)類的比例匙监,計(jì)算公式為:
還有一個(gè)真負(fù)類率(True Negative Rate, TNR)凡橱,表示分類器正確識(shí)別所有負(fù)類所占全部負(fù)類的比例,計(jì)算公式為:
3. ROC曲線如何得到
以疾病檢測(cè)為例亭姥,這是一個(gè)有監(jiān)督的二分類模型稼钩,模型對(duì)每個(gè)樣本的預(yù)測(cè)結(jié)果為一個(gè)概率值,我們需要從中選取一個(gè)閾值來(lái)判斷健康與否达罗。
定好一個(gè)閾值之后坝撑,超過(guò)此閾值定義為患病,低于此閾值定義為健康粮揉,就可以得出混淆矩陣巡李。如果我沒將閾值減少0.1,真正類率(TPR)將會(huì)增高扶认,相應(yīng)的假正類率(FPR)也會(huì)提高侨拦,為了形象化這一變化,在此引入ROC辐宾,ROC曲線可以用于評(píng)價(jià)一個(gè)分類器狱从。
[圖片上傳失敗...(image-acef2b-1591253838567)]
ROC曲線上的每一個(gè)點(diǎn)對(duì)應(yīng)于一個(gè)threshold,對(duì)于一個(gè)分類器叠纹,每個(gè)threshold下會(huì)有一個(gè)TPR和FPR季研。
比如Threshold最大時(shí),TP=FP=0誉察,對(duì)應(yīng)于原點(diǎn)与涡;Threshold最小時(shí),TN=FN=0,對(duì)應(yīng)于右上角的點(diǎn)(1,1)递沪。
隨著閾值theta增加豺鼻,TP和FP都減小,TPR和FPR也減小款慨,ROC點(diǎn)向左下移動(dòng)儒飒。
而如果在上述模型中我們沒有定好閾值,而是將模型預(yù)測(cè)結(jié)果從高到低排序檩奠,將每次概率值依次作為閾值桩了,那么就可以得到多個(gè)混淆矩陣。對(duì)于每個(gè)混淆矩陣埠戳,我們計(jì)算兩個(gè)指標(biāo)TPR和FPR,以FPR為x軸井誉,TPR為y軸畫圖,就得到了ROC曲線整胃。
一般來(lái)說(shuō)颗圣,如果ROC是光滑的,那么基本可以判斷沒有太大的overfitting屁使,AUC面積越大一般認(rèn)為模型越好在岂。
4.AUC作為評(píng)價(jià)標(biāo)準(zhǔn)
AUC(Area Under Curve)被定義為ROC曲線下的面積,取值范圍一般在0.5和1之間(當(dāng)AUC=0.5時(shí)蛮寂,)蔽午。使用AUC值作為評(píng)價(jià)標(biāo)準(zhǔn)是因?yàn)楹芏鄷r(shí)候ROC曲線并不能清晰的說(shuō)明哪個(gè)分類器的效果更好,而作為一個(gè)數(shù)值酬蹋,對(duì)應(yīng)AUC更大的分類器效果更好及老。、
(1) AUC的計(jì)算方法
非參數(shù)法:(兩種方法實(shí)際證明是一致的)
- 梯形法則:早期由于測(cè)試樣本有限范抓,我們得到的AUC曲線呈階梯狀骄恶。曲線上的每個(gè)點(diǎn)向X軸做垂線,得到若干梯形匕垫,這些梯形面積之和也就是AUC 叠蝇。
- Mann-Whitney統(tǒng)計(jì)量: 統(tǒng)計(jì)正負(fù)樣本對(duì)中,有多少個(gè)組中的正樣本的概率大于負(fù)樣本的概率年缎。這種估計(jì)隨著樣本規(guī)模的擴(kuò)大而逐漸逼近真實(shí)值。
參數(shù)法:
- 主要適用于二項(xiàng)分布的數(shù)據(jù)铃慷,即正反樣本分布符合正態(tài)分布单芜,可以通過(guò)均值和方差來(lái)計(jì)算。
(2)從AUC判斷分類器(預(yù)測(cè)模型)優(yōu)劣的標(biāo)準(zhǔn)
- AUC = 1犁柜,是完美分類器洲鸠,采用這個(gè)預(yù)測(cè)模型時(shí),存在至少一個(gè)閾值能得出完美預(yù)測(cè)。絕大多數(shù)預(yù)測(cè)的場(chǎng)合扒腕,不存在完美分類器绢淀。
- 0.5 < AUC < 1,優(yōu)于隨機(jī)猜測(cè)瘾腰。這個(gè)分類器(模型)妥善設(shè)定閾值的話皆的,能有預(yù)測(cè)價(jià)值。
- AUC = 0.5蹋盆,跟隨機(jī)猜測(cè)一樣(例:丟銅板)费薄,模型沒有預(yù)測(cè)價(jià)值。
- AUC < 0.5栖雾,比隨機(jī)猜測(cè)還差楞抡;但只要總是反預(yù)測(cè)而行,就優(yōu)于隨機(jī)猜測(cè)析藕。
(3)不同模型AUC比較
總的來(lái)說(shuō)召廷,AUC值越大,模型的分類效果越好账胧;不過(guò)兩個(gè)模型AUC值相等并不代表模型效果相同竞慢,例子如下:
下圖中有三條ROC曲線,A模型比B和C都要好
下面兩幅圖中兩條ROC曲線相交于一點(diǎn)找爱,AUC值幾乎一樣:當(dāng)需要高Sensitivity(TPR)時(shí)梗顺,模型A比B好;當(dāng)需要高Speciticity(FPR)時(shí)车摄,模型B比A好寺谤;
(4)最優(yōu)臨界點(diǎn)的找法
我們希望自己的模型TPR高的同時(shí)FPR要盡量的小,則需要建立max(TPR+(1-FPR))的模型吮播。
有三種方法:找到離(0,1)最近的點(diǎn)变屁,Youden index,最小損耗(cost criterion)意狠。
- 如果說(shuō)Sn 和Sp 分別對(duì)應(yīng)于sensitivity和specificity粟关,所有ROC曲線上的點(diǎn)到ROC的距離可以表示為,讓d最小就好啦环戈;
- Youden index : 最大化ROC曲線上的點(diǎn)到x軸的垂直距離(最大化TPR(Sn)和FPR(1-Sp)的差異)
- 考慮人力物力和財(cái)力(第三種方法很少用闷板,因?yàn)楹茈y評(píng)估)
5. PR曲線
PR(Precision-Recall)曲線和ROC曲線類似,ROC曲線是FPR和TPR的點(diǎn)連成的線院塞,PR曲線是準(zhǔn)確率和召回率的點(diǎn)連成的線遮晚,如下圖所示。
[圖片上傳失敗...(image-ddf201-1591253838567)]
真實(shí)1 | 真實(shí)0 | |
---|---|---|
預(yù)測(cè)1 | TP | FP |
預(yù)測(cè)0 | FN | TN |
精確率和召回率的計(jì)算公式為:
精確率(Precision)
全部預(yù)測(cè)為1中實(shí)際標(biāo)簽為1的比率:
召回率(Recall)
實(shí)際標(biāo)簽為1中正確預(yù)測(cè)為1的比率:
而Recall=TPR拦止,因此PR的橫坐標(biāo)為ROC的縱坐標(biāo)县遣。
6.ROC曲線和PR曲線
相對(duì)來(lái)講ROC曲線會(huì)穩(wěn)定很多糜颠,在正負(fù)樣本量都足夠的情況下,ROC曲線足夠反映模型的判斷能力萧求。因此其兴,對(duì)于同一模型,PR和ROC曲線都可以說(shuō)明一定的問(wèn)題夸政,而且二者有一定的相關(guān)性元旬,如果想評(píng)測(cè)模型效果,也可以把兩條曲線都畫出來(lái)綜合評(píng)價(jià)秒梳。對(duì)于有監(jiān)督的二分類問(wèn)題法绵,在正負(fù)樣本都足夠的情況下,可以直接用ROC曲線酪碘、AUC朋譬、KS評(píng)價(jià)模型效果。在確定閾值過(guò)程中兴垦,可以根據(jù)Precision徙赢、Recall或者F1來(lái)評(píng)價(jià)模型的分類效果。對(duì)于多分類問(wèn)題探越,可以對(duì)每一類分別計(jì)算Precision狡赐、Recall和F1,綜合作為模型評(píng)價(jià)指標(biāo)钦幔。
在上圖中枕屉,(a)和(c)為ROC曲線,(b)和(d)為Precision-Recall曲線鲤氢。(a)和(b)展示的是分類其在原始測(cè)試集(正負(fù)樣本分布平衡)的結(jié)果搀擂,(c)和(d)是將測(cè)試集中負(fù)樣本的數(shù)量增加到原來(lái)的10倍后,分類器的結(jié)果卷玉∩谒蹋可以明顯的看出,ROC曲線基本保持原貌相种,而Precision-Recall曲線則變化較大威恼。
參考
全面了解ROC曲線
接受者操作特征曲線
ROC曲線詳解
機(jī)器學(xué)習(xí)算法中的準(zhǔn)確率、精確率寝并、召回率和F值