生物信息学从零开始学R. python新手日记R语言从零开始

R语言绘制绘制ROC和PR曲线(总结)

2019-06-19  本文已影响55人  柳叶刀与小鼠标

本节目标:

(1)总结常用的绘制ROC和PR曲线的R包
(2)生存预测模型的时间依赖性ROC曲线

第一部分:总结常用的绘制ROC曲线的R包:

(1)ROCR - 2005

ROCR包已经存在了近14年,是绘制ROC曲线最常用的工具,这个也是我本人最喜欢用和最常用的R语言包。ROCR包的performance()函数通过真阳性率tpr和假阳性率fpr和来计算曲线下面积。它的功能几乎几乎涵盖了所有二分类器性能评估所需要的指标。例如,要生成precision-recall曲线,您需要输入precrec

下面的代码使用包附带的合成数据集并绘制默认的ROCR ROC曲线。在本文中,我将使用相同的数据集。

####################################

#ROCR包绘制ROC曲线

####################################

library(ROCR)
rm(list = ls())
data(ROCR.simple)
df <- data.frame(ROCR.simple)
pred <-prediction(df$predictions,df$labels)
perf <- performance(pred,"tpr","fpr")
plot(perf, col='blue',lty=2)
auc <- performance(pred,'auc')
auc = unlist(slot(auc,"y.values"))
plot(perf,
     xlim=c(0,1), ylim=c(0,1),col='red', 
     main=paste("ROC curve (", "AUC = ",auc,")"),
     lwd = 2, cex.main=1.3, cex.lab=1.2, cex.axis=1.2, font=1.2)
abline(0,1)

(2)pROC

该包的特点是对ROC曲线的可视化较强,同时可以对ROC曲线进行平滑处理。 其相对于ROCR最吸引人的两个特点:(1)计算AUC或ROC曲线的置信区间。(2)可以检验多个ROC曲线之间是否有差异

上一篇下一篇

猜你喜欢

热点阅读