美文网首页
【R语言】pROC绘制ROC曲线

【R语言】pROC绘制ROC曲线

作者: 生信交流平台 | 来源:发表于2022-09-27 22:11 被阅读0次

前面给大家介绍了ROC曲线,相信大家对ROC以及一些常见的机器学习的概念,如正样本,负样本,真阳性,假阳性,假阴性,准确度,敏感性,特异性等等已经有了一定的了解。

ROC曲线简介

今天我们给大家讲解一下如何使用R的pROC这个包来绘制ROC曲线。

#安装pROC包
BiocManager::install("pROC")

#加载pROC包
library(pROC)

#使用的示例数据
data(aSAH)

下面是我们使用的数据,outcome是我们要预测的结果,分为good和poor,一个典型的二分类问题。gender,age,wfns,s100b和ndka是我们可以使用的特征变量。


接下来我们就可以构建并绘制ROC曲线了,如果对roc这个函数不太了解,可以通过在R的控制台输入?roc,来查看R的帮助手册。

通过函数的介绍,我们可以看到,使用roc这个函数有两种方法。

一种是通过formula,也就是通过一个公式来将response(预测的结果)和predictor(特征变量)连接起来。第二种方法是将response和predictor分开来写。接下来我们分别来看下这两种方法的使用。

方法一、使用formula

#生成ROC曲线,注意公式的写法,一定是response在前,predictor在后
p1=roc(outcome ~ s100b, aSAH)
#绘制ROC曲线,col控制roc曲线的颜色
plot(p1,col="red")

我们可以得到下图的ROC曲线


方法二、分别指定response和predictor

#生成ROC曲线,也是response在前,predictor在后
p2=roc(aSAH$outcome, aSAH$s100b)
#绘制ROC曲线
plot(p2,col="red")

我们可以得到跟上图一样的ROC曲线。

我们还可以输出AUC(area under curve),来评判特征的预测效果。AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。

p1$auc
#Area under the curve: 0.7314

可以看到我们这个预测模型的AUC是0.7314,效果还行。

【R语言】pROC绘制ROC曲线

相关文章

网友评论

      本文标题:【R语言】pROC绘制ROC曲线

      本文链接:https://www.haomeiwen.com/subject/pceqartx.html