用R语言画ROC曲线及精确召回曲线(Precision-Recall Curve)

本文介绍了如何使用R语言进行模型评估,分别通过pROC包绘制ROC曲线和利用modEvA包绘制精确召回曲线。在ROC曲线部分,pROC包表现优秀;而在精确召回曲线中,虽然modEvA包被推荐,但其无法计算AUC的95%置信区间,引发了作者对于AUC置信区间意义的疑问。
摘要由CSDN通过智能技术生成

为了评估模型,最近试了好几个画ROC曲线以及精确召回曲线(PRC)的包,这里记录一下我的一些看法。

1. ROC曲线

如果只需要画ROC曲线,那么pROC包是很好用的。

library(pROC)
#在得到最终模型后,算出预测值
pred <- predict(model, newdata = X_test)
#ROC, 输入真实的label和预测的值(如果是做某个指标用于预测死亡率的ROC曲线,那就用是否死亡代替Y_test, 用这个指标的值代替pred),ci是为了算95%CI
roc_data <- roc(Y_test, as.numeric(pred), ci = TRUE)
#我习惯把数据整理出来,用ggplot2再作图
roc_data <- data.table(sensitivity = roc_data$sensitivities,
                         specificity = roc_data$specificities,
                         yorden = roc_data$sensitivities + roc_data$specificities - 1, # 约登指数
                         auc = roc_data$auc,
                         auc_low = as.numeric(roc_data$ci)[1],
                         auc_up = as.numeric(roc_data$ci)[3])
  • 4
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值