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

使用tidymodels绘制ROC曲线报错:无法在此上下文重命名变量

解决tidymodels绘制ROC曲线时的重命名错误

可能的原因及对应解决步骤

1. 未明确指定响应变量与预测概率列

roc_curve() 需要明确指定二分类响应列(truth参数)和正类预测概率列(estimate参数),未指定时自动推断失败会触发重命名错误。

正确调用示例(假设目标列名为churn,正类为yes):

library(yardstick)

roc_results <- predictions %>%
  roc_curve(truth = churn, estimate = .pred_yes)

# 绘制ROC曲线
autoplot(roc_results)

2. 目标列不是因子类型

yardstick的roc_curve要求二分类响应变量必须是因子类型,字符或数值类型会导致错误。检查并转换:

# 将目标列转换为因子,指定类别顺序
predictions <- predictions %>%
  mutate(churn = factor(churn, levels = c("no", "yes")))

若正类是第一个水平,可在roc_curve中添加event_level = "first"参数指定。

3. 数据绑定时出现列名冲突

使用bind_cols(bank_train)可能引入冗余列,甚至和预测列重名。建议只绑定目标列:

predictions <- predict(model_bagged, bank_train, type = "prob") %>%
  bind_cols(bank_train %>% select(churn)) # 仅保留目标列,减少冗余

4. yardstick包版本过旧

旧版本yardstick存在类似重命名bug,更新到最新版本即可:

update.packages("yardstick")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:58:20