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