用R语言绘制ROC曲线

用R语言绘制ROC曲线1roc曲线的意义ROC曲线就是用来判断诊断的正确性,最理想的就是曲线下的面积为1,比较理想的状态就是曲线下的面积在0.8-0.9之间,0.5的话对实验结果没有什么影响。如图:2代码部分install.packages(“pROC”)install.packages(“ggplot2”)library(pROC)library(ggplot2)#建立曲线data(aSAH)…

大家好,又见面了,我是你们的朋友全栈君。

1、roc曲线的意义
ROC曲线就是用来判断诊断的正确性,最理想的就是曲线下的面积为1,比较理想的状态就是曲线下的面积在0.8-0.9之间,0.5的话对实验结果没有什么影响。
如图:
在这里插入图片描述
2、代码部分

install.packages("pROC")
install.packages("ggplot2")

library(pROC)
library(ggplot2)
#建立曲线
data(aSAH)
rocobj1<-roc(aSAH$outcome,aSAH$s100b)
rocobj2<-roc(aSAH$outcome,aSAH$wfns)
rocobj3<-roc(aSAH$outcome,aSAH$ndka)
#计算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(myData$label,myData$score)
roc2<-roc(myData2$label,myData2$score)
polt(roc1,col="blue")
polt.roc(roc2,add=TRUE,col="red")

3、实验结果
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145334.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • phpstorm2021.4激活码_通用破解码

    phpstorm2021.4激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
  • <&gt(action/joingroup?code=v1)

    Ribbon本身提供了下面几种负载均衡策略:RoundRobinRule:轮询策略,Ribbon以轮询的方式选择服务器,这个是默认值。所以示例中所启动的两个服务会被循环访问;RandomRule:随机选择,也就是说Ribbon会随机从服务器列表中选择一个进行访问;BestAvailableRule:最大可用策略,即先过滤出故障服务器后,选择一个当前并发请求数最小的;WeightedR…

    2022年4月17日
  • 产品经理告诉你什么是PMF?什么是MVP?

    产品经理告诉你什么是PMF?什么是MVP?一、什么是PMF?PMF指的是产品与市场匹配的产品1.如何判断PMF的临界点?1、留存:30%的新用户次日留存2、新增用户DAU:大于1003、用户数:10万用户数DAU:单日活跃用户量,反应产品短期用户活跃度2.PMF几种类型1、更好体验的产品,如美图秀秀2、抓住细分市场,如uber、P2P3、全新的市场,如微博的@4、综合体,如Airbnb二、什么是MVP?MVP指的是对用户有价值的最小可用产品MVP打造阶段:对用户有价值的最小可用产品,从功能列表中定位出产品的核心功能,.

    2022年5月24日
  • ffmpeg安装教程win10_nginx菜鸟教程

    ffmpeg安装教程win10_nginx菜鸟教程简述作为一个计算机方面的小白,对ffmpeg其实没多少了解,只是因为在合并音频和视频要使用到ffmpeg这个工具,所以才下载下来,所以就是一个简单的安装教程。话不多说开始安装吧。下载百度网盘可能有兄弟访问github不是很给力,直接下载这个也是可以的链接:https://pan.baidu.com/s/1Z7VkOv-_PAub6OfDkyly4Q提取码:yj5e官网下载来到官网下载点击跳转来到下载主页点击这个进入github,找到资源下载即可下载这个也可以,我下载的时候出现了很

    2022年9月13日
  • android开发之应用打包签名混淆流程

    ant打包apk,对其签名和混淆,防止反编译。

    2022年3月11日
  • 2021pycharm最新激活码【2021.7最新】[通俗易懂]

    (2021pycharm最新激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号