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曲线,您需要输入prec
和rec
。
下面的代码使用包附带的合成数据集并绘制默认的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曲线之间是否有差异
- 计算AUC或ROC曲线的置信区间