近期在寫(xiě)一些東西盟戏,需要畫(huà)出ROC曲線并且需要對(duì)多個(gè)ROC曲線進(jìn)行對(duì)比绪妹,因?yàn)榕c統(tǒng)計(jì)有關(guān),所以用到deLong test來(lái)進(jìn)行評(píng)估而不是簡(jiǎn)單的使用AUC值進(jìn)行對(duì)比柿究。
繪制ROC曲線
利用R語(yǔ)言繪制ROC曲線是非常容易的事情邮旷,提前導(dǎo)入好pROC包和ggplot2包,只需要三行代碼:
1蝇摸、讀取數(shù)據(jù)
data<-read.csv('test.csv',header = FALSE)婶肩,參數(shù)header設(shè)為FALSE即csv中沒(méi)有列屬性
2、計(jì)算ROC
roc<-roc(data$V1,data$V2)
3貌夕、繪制
plot(roc,col='#D35400',print.auc=TRUE,print.thres=TRUE,print.auc.x=0.4,print.auc.y=0.1,cex.lab=2,cex.axis=2,print.auc.cex=2,print.thres.cex=1.5)
參數(shù) col是顏色律歼,print.auc 顯示AUC值,?print.thres 顯示曲線上的閾值點(diǎn)啡专,print.auc.x和print.auc.y是對(duì)應(yīng)于顯示AUC值在fig中的位置险毁,cex是控制顯示內(nèi)容字體的尺寸。
如果需要再一個(gè)fig里面畫(huà)出多條ROC曲線,只需在接下來(lái)的plot()函數(shù)中添加參數(shù)add=TRUE畔况。
deLong's test
這個(gè)是一種AUC顯著性檢驗(yàn)的方法鲸鹦,通過(guò)計(jì)算不同ROC曲線AUC值的方差和協(xié)方差進(jìn)行顯著性檢驗(yàn)得到P值,一般來(lái)說(shuō)P值低于0.05時(shí),對(duì)比兩個(gè)ROC曲線的AUC值才具備統(tǒng)計(jì)意義跷跪。
在R語(yǔ)言中馋嗜,roc.test(roc_1,roc_2,method = 'delong')即可計(jì)算兩個(gè)ROC曲線的P值