用R软件包ROCR画ROC曲线

来源:互联网 发布:数据库原理第五版答案 编辑:程序博客网 时间:2024/05/18 14:46

        ROC曲线可以简单、直观得观察分析方法的临床准确性,并可用肉眼作出判断。ROC以真阳性率(灵敏度FPR)为纵坐标,假阳性率(1-特异度TPR)为横坐标绘制的曲线,可准确反映某分析方法特异性和敏感性的关系,是试验准确性的综合代表。ROC曲线不固定分类界值,允许中间状态存在,利于使用者结合专业知识,权衡漏诊与误诊的影响,选择一更佳截断点作为诊断参考值。提供不同试验之间在共同标尺下的直观的比较,ROC曲线越凸越近左上角表明其诊断价值越大,利于不同指标间的比较。曲线下面积可评价诊断准确性。


1.相关定义及计算公式(用混淆矩阵的形式将分类结果展示出来)




2.加载R包ROCR

Packages > Install > ROCR > Install

确保电脑联网即可下载



3.画ROC曲线

      本身这个软件内嵌的是有参考数据的,你可以运行:ROCR.simple$labels和ROCR.simple$predictions来查看数据内容。

ROC曲线运行命令如下:
data(ROCR.simple)
pred <- prediction(ROCR.simple$predictions, ROCR.simple$labels) #ROCR.simple$predictions为预测标签,ROCR.simple$labels为真实标签
perf <- performance(pred,"tpr","fpr")
plot(perf,colorize=TRUE)


4.ROC曲线评价统计量

       ROC曲线下的面积(area under ROC curve)值在1.0和0.5之间。在AUC>0.5的情况下,AUC越接近于1,说明诊断效果越好。AUC在 0.5~0.7时有较低准确性,AUC在0.7~0.9时有一定准确性,AUC在0.9以上时有较高准确性。AUC=0.5时,说明诊断方法完全不起作用,无诊断价值。AUC<0.5不符合真实情况,在实际中极少出现。

auc值用以下命令提取:

auc <- performance(pred,'auc')
auc=unlist(slot(auc,"y.values"))

0 0
原创粉丝点击