国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - R語言 - 用R語言繪制ROC曲線的實例講解

用R語言繪制ROC曲線的實例講解

2022-01-06 14:12coding-day R語言

這篇文章主要介紹了用R語言繪制ROC曲線的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1 roc曲線的意義

ROC曲線就是用來判斷診斷的正確性,最理想的就是曲線下的面積為1,比較理想的狀態就是曲線下的面積在0.8-0.9之間,0.5的話對實驗結果沒有什么影響。

如圖:

用R語言繪制ROC曲線的實例講解

 

2代碼部分

install.packages(“pROC”)
install.packages(“ggplot2”)
library(pROC)
library(ggplot2)
#建立曲線
data(aSAH)
rocobj1<-roc(aSAHo u t c o m e , a S A H outcome,aSAHoutcome,aSAHs100b)
rocobj2<-roc(aSAHo u t c o m e , a S A H outcome,aSAHoutcome,aSAHwfns)
rocobj3<-roc(aSAHo u t c o m e , a S A H outcome,aSAHoutcome,aSAHndka)
#計算full AUC
auc(rocobj1)
auc(rocobj2)
auc(rocobj3)
#繪制曲線
plot(rocobj1)
#其他參數美化
plot(rocobj1,print.auc=TRUE,auc.polygon=TRUE,grid=c(0.1,0.2),grid.col=c(“green”,“red”),max.auc.polygon=TRUE,auc.polygon.col=“skyblue”,print.thres=TRUE)
#計算partial AUC選擇關注一定范圍數據
plot(rocobj1,print.auc=TRUE,auc.polygon=TRUE,partial.auc=c(0.8,0.4),partial.auc.focus=“sp”,grid=c(0.1,0.2),grid.col=c(“green”,“red”),max.auc.polygon=TRUE,auc.polygon.col=“skyblue”,print.thres=TRUE,reuse.auc=FALSE)
#比較兩個曲線,pROC提供三種方法比較“delong”, “bootstrap”或“venkatraman”
roc.test(rocobj1,rocobj2,method = “bootstrap”)
#ggroc(功能仍在測試中)繪制Multiple curves
g3<-ggroc(list(s100b=rocobj,wfns=rocobj2,ndka=rocobj3))
g3
install.packages(“pROC”)
library(“pROC”)##roc
data(aSAH)
roc1<-roc(myDatal a b e l , m y D a t a label,myDatalabel,myDatascore)
roc2<-roc(myData2l a b e l , m y D a t a 2 label,myData2label,myData2score)
polt(roc1,col=“blue”)
polt.roc(roc2,add=TRUE,col=“red”)

 

3 實驗結果

用R語言繪制ROC曲線的實例講解

補充:R語言proc包繪制多重ROC曲線(信用評分應用,已有label和相應score)

數據:好壞標簽label、用四種model簡單計算出的每一個樣本的score,標記為pre1至pre4,約1w樣本

目的:使用proc包繪制ROC曲線,并生成AUC值

 

1.讀入數據

data<-read.csv(file="D:/個人消費信用/第三次上機/工作簿2.csv",header=T)

header=T 即在讀取中,將原有數據的第一行設置為變量名。

注意文件的分隔為 “ / ”,與默認不同。

 

2.畫出最基本的ROC曲線

library(pROC) #加載pROC包
roc1<-roc(data$label,data$pre1)
plot(roc1,print.auc=TRUE,plot=TRUE,
print.thres=TRUE)

用R語言繪制ROC曲線的實例講解

包含AUC的值和最優臨界點,下面把它美化一下~

(問題:為啥橫坐標Specificity的范圍是1.5到-0.5,查了一下沒有找到原因,可能是因為原數據本身的問題,以前以違約概率而非score的時候沒有出現這個問題,擇日探究……TvT)

 

3.美化ROC曲線

plot(roc2,print.auc=TRUE,print.auc.x=0.4,print.auc.y=0.4,auc.polygon=TRUE,auc.polygon.col="gray",
smooth=TRUE,
grid=c(0.5, 0.2),
grid.col=c("black", "black"), 
max.auc.polygon=TRUE,
print.thres=TRUE,print.thres.cex=0.8,
lty=1,main=" ROC曲線",mfrow=c(1,1)) 

用R語言繪制ROC曲線的實例講解

解釋在括號里面疊加命令的代碼:

print.auc.x=0.4,print.auc.y=0.4 #設置AUC值顯示出來的坐標
auc.polygon=TRUE,auc.polygon.col="gray" #設置ROC曲線下填充色,此處設定為灰色
smooth=TRUE #使ROC曲線變得光滑
max.auc.polygon=TRUE #整個圖像填充
print.thres.cex=0.8 #設置最優臨界點字體的大小
lty=1,main=" ROC曲線",mfrow=c(1,1) #設置標題啥的 mfrow貌似是圖形參數,待查……

 

4.合并ROC曲線

由于共有4個model,所以要想比較模型的優劣,可以將四個ROC曲線畫到一起。

roc1<- roc(data$label,data$pre1)
roc2<- roc(data$label,data$pre2)
roc3<- roc(data$label,data$pre3)
roc4<- roc(data$label,data$pre4)
plot(roc1, print.auc=TRUE,print.auc.x=0.4,print.auc.y=0.4, auc.polygon=TRUE,auc.polygon.col="gray", grid=c(0.5, 0.2),smooth=T,grid.col=c("black", "black"), max.auc.polygon=TRUE)
plot.roc(roc2,add=T,col="red", print.auc=TRUE,print.auc.x=0.3,print.auc.y=0.3)
plot.roc(roc3,add=T,col="blue",print.auc=TRUE,print.auc.x=0.5,print.auc.y=0.5)
plot.roc(roc4,add=T,col="yellow",print.auc=TRUE,print.auc.x=0.6,print.auc.y=0.6)

由于此處要顯示AUC值,且不要重合~所以在后面加上了print.auc=TRUE,print.auc.x=0.6,print.auc.y=0.6的命令。

如果不重合的話,直接在roc1下面加上下列代碼即可:

plot.roc(roc2,add=T,col="red")

由于原有數據的問題,這里的四條ROC曲線幾乎重合~但此處只是介紹pROC包繪制ROC曲線的用法。就不要太在意遼!

用R語言繪制ROC曲線的實例講解

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/qq_29423387/article/details/87911526

延伸 · 閱讀

精彩推薦
  • R語言R語言實現支持向量機SVM應用案例

    R語言實現支持向量機SVM應用案例

    本文主要介紹了R語言實現支持向量機SVM應用案例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    一天_pika5222022-01-18
  • R語言R語言常量知識點總結

    R語言常量知識點總結

    在本篇文章里小編給大家整理了一篇關于R語言常量知識點總結內容,有興趣的朋友們可以學習分享下。...

    R語言教程網12102021-12-29
  • R語言基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案

    基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案

    這篇文章主要介紹了基于R/RStudio中安裝包“無法與服務器建立連接”的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    truffle52815052022-01-05
  • R語言R語言gsub替換字符工具的具體使用

    R語言gsub替換字符工具的具體使用

    這篇文章主要介紹了R語言gsub替換字符工具的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    lztttao10372021-12-24
  • R語言如何用R語言繪制散點圖

    如何用R語言繪制散點圖

    這篇文章主要介紹了如何用R語言繪制散點圖,幫助大家更好的理解和學習使用R語言,感興趣的朋友可以了解下...

    菜鳥教程13002021-12-23
  • R語言R語言讀取xls與xlsx格式文件過程

    R語言讀取xls與xlsx格式文件過程

    這篇文章主要為大家介紹了使用R語言讀取xls與xlsx格式文件的過程步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪...

    Kanny廣小隸11982022-01-20
  • R語言R語言中qplot()函數的用法說明

    R語言中qplot()函數的用法說明

    這篇文章主要介紹了R語言中qplot()函數的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    Jack_丁明12752022-01-05
  • R語言R語言中的vector(向量),array(數組)使用總結

    R語言中的vector(向量),array(數組)使用總結

    這篇文章主要介紹了R語言中的vector(向量),array(數組)使用總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要...

    A葉子葉來5772021-11-14
主站蜘蛛池模板: 2018自拍偷拍 | 国产欧美日韩一区 | 久久久精品免费观看 | 艹逼短视频 | 免费成人在线网站 | 国产欧美在线 | 午夜精品福利一区二区三区蜜桃 | 欧美日韩中文字幕 | 国产精品美女久久久久久免费 | 久久久久久久国产精品 | 最近高清无吗免费看 | 成人爽a毛片一区二区免费 日韩av高清在线 | 日韩成人一区二区 | 偷拍呻吟高潮91 | 国产精品久久久久久久久 | 青青草在线视频免费观看 | 九一精品| 亚洲专区在线播放 | 一本一道久久精品综合 | 欧美日本一区二区三区 | 日韩在线精品 | 亚洲精品视频在线免费播放 | 狠狠狠狠狠狠干 | 国产亚洲片 | 亚洲视频在线观看网址 | 亚洲一区二区免费看 | 欧美亚洲 | 久久精品无码一区二区三区 | 日韩无在线 | 亚洲www视频 | 久久99精品久久久 | 一区二区三区 在线 | 久久久www| 中文字幕日韩在线视频 | 在线观看亚洲 | 另类一区 | 日韩国产欧美一区 | 黄色毛片免费看 | 午夜精品久久久久 | 久久一精品 | 啪啪导航 |