为了评估模型,最近试了好几个画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]

本文介绍了如何使用R语言进行模型评估,分别通过pROC包绘制ROC曲线和利用modEvA包绘制精确召回曲线。在ROC曲线部分,pROC包表现优秀;而在精确召回曲线中,虽然modEvA包被推荐,但其无法计算AUC的95%置信区间,引发了作者对于AUC置信区间意义的疑问。
最低0.47元/天 解锁文章
3326

被折叠的 条评论
为什么被折叠?



