用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sklearn linear regression_auto sklearn

    sklearn linear regression_auto sklearnK折交叉验证:sklearn.model_selection.KFold(n_splits=3,shuffle=False,random_state=None)思路:将训练/测试数据集划分n_splits个互斥子集,每次用其中一个子集当作验证集,剩下的n_splits-1个作为训练集,进行n_splits训练和测试,得到n_splits个结果注意点:对于不能均等份的数据集,其前n_sa

    2022年9月20日
    2
  • python精彩编程200例-Python创意编程200例turtle篇[通俗易懂]

    简介:Python是一种高阶计算机语言。它更接近自然语言,学习成本低,开发效率高。如今越来越多的中小学生都在开始学习Python了。我们可以预见,全民会Python的日子不久就会到来,各行各业的人未来都能用Python解决各自领域的问题或创造出独特魅力的作品。在Python的普及过程中,海龟模块(turtle)将会功不可没。它来源于上个世纪60年代的logo计算机语言,就是通过指挥一只小海龟移动…

    2022年4月6日
    198
  • vuex-mapGetters使用案例解析

    vuex-mapGetters使用案例解析store/index.jsimportVuefrom’vue’importVuexfrom’vuex’Vue.use(Vuex)exportdefaultnewVuex.Store({state:{msg:”HelloVuex!”,name:”cxj”,age:18,hobby:”美女”},getters:{tenYearsOld(state){returnstate.age+1

    2022年5月5日
    62
  • 解压war包工具_rar解压下载

    解压war包工具_rar解压下载解压war,要用jar命令jar-xfdemo.war

    2022年10月5日
    4
  • mysql卸载与安装_cad卸载后无法重新安装

    mysql卸载与安装_cad卸载后无法重新安装以Windows10操作系统为例:一、先看看如何卸载1、首先,停止window的MySQL服务,【windows键+R】打开运行框,输入【services.msc】打开(或者找到“控制面板”->“管理工具”->“服务”,停止MySQL后台服务)服务管理器,停止MySQL后台服务。2、卸载MySQL安装程序。找到“控制面板”->”程序…

    2022年9月30日
    3
  • win10 java jdk环境变量 配置

    win10 java jdk环境变量 配置以前只是大概说了以下jdk配置的注意事项,今天准备详细记录一下,万一以后用的着呢。当然这不是我的原创工作,只是把网上有的内容整合了以下。首先到官网将jdk的安装包下载下来,这是网址(http://www.oracle.com/technetwork/java/javase/downloads/index.html)进去以后会看到如下画面:点击左边的JavaPlatform(JD

    2022年7月21日
    17

发表回复

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

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