You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ggroc绘制的多ROC曲线名称中整合AUC值?

给ROC曲线名称添加AUC值的实现方法

你可以通过提取每个ROC对象的AUC值,将其与模型名称拼接后作为列表元素的新名称,这样ggroc绘制时就会自动在图例中显示包含AUC的曲线名称。

方法一:创建列表后统一处理(推荐,避免重复计算)

rocs <- list()
rocs[["modele1"]] <- roc(data3$USI3, predict(modele1))
rocs[["modele2"]] <- roc(data3$USI3, predict(modele2))
rocs[["modele3"]] <- roc(data3$USI3, predict(modele3))

# 提取每个模型的AUC并格式化(这里保留2位小数,可按需调整)
auc_values <- sapply(rocs, function(x) sprintf("AUC = %.2f", x$auc))
# 重命名列表元素,拼接模型名与AUC
names(rocs) <- paste(names(rocs), auc_values, sep = " - ")

# 绘制带AUC名称的ROC曲线
ggroc(rocs, legacy.axes = TRUE)

方法二:创建ROC对象时直接设置名称

如果想一步到位,也可以在创建每个ROC对象时直接定义包含AUC的名称:

rocs <- list()
# 计算ROC并拼接名称
roc1 <- roc(data3$USI3, predict(modele1))
rocs[[paste0("modele1 - AUC = ", sprintf("%.2f", roc1$auc))]] <- roc1

roc2 <- roc(data3$USI3, predict(modele2))
rocs[[paste0("modele2 - AUC = ", sprintf("%.2f", roc2$auc))]] <- roc2

roc3 <- roc(data3$USI3, predict(modele3))
rocs[[paste0("modele3 - AUC = ", sprintf("%.2f", roc3$auc))]] <- roc3

ggroc(rocs, legacy.axes = TRUE)

说明

  • sprintf("%.2f", x$auc)用于格式化AUC值,%.2f表示保留2位小数,若需要更多精度可改为%.3f;
  • 拼接分隔符" - "可根据需求替换为其他符号(如" | ");
  • 最终绘制的ROC曲线图例会直接显示modele1 - AUC = 0.85这类包含AUC的名称。

内容的提问来源于stack exchange,提问作者Pipas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 18:22:12