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

R中使用tidymodels与workflows做生存分析时recipe报错及调参方案

生存分析tidymodels实现方案

报错修复

报错的核心原因是tidymodels的recipe不支持在公式内直接调用Surv()这类内联计算函数,所有参与建模的变量需要提前作为数据框列存在,或通过recipe步骤生成。
修复步骤如下:

  1. 提前加载依赖包,除tidymodels外需加载survival、censored包,其中censored为tidymodels官方维护的生存分析扩展包,已支持常见生存模型的训练与调参。
library(tidymodels)
library(survival)
library(censored)
  1. 预先在训练数据中生成Surv类型的响应变量列:
set.seed(123)
n <- 20
train_data <- data.frame(id=1:n, 
                  death_time = rnorm(n, mean = 5, sd = 3),
                  death_event = sample(c(0,1), n, replace = TRUE),
                  age = sample(18:30, n, replace=TRUE),
                  gender = rep(LETTERS[1:2], n/2),
                  drug = factor(sample(c("X", "Y"), n, replace = TRUE)))
# 新增生存对象列
train_data$surv_obj <- Surv(time = train_data$death_time, event = train_data$death_event)
  1. 修正recipe定义,直接使用预先生成的生存对象作为响应变量,可按需添加预处理步骤:
data_recipe <- recipe(surv_obj ~ age + gender + drug, data = train_data) %>%
  # 示例预处理:将名义分类变量转为哑变量
  step_dummy(all_nominal_predictors())

多模型适配与调参配置

需注意所有生存模型需指定mode为censored regression,各常见模型的配置方式如下:

决策树模型(修正后)

tree_spec <- decision_tree(
  cost_complexity = tune(),
  tree_depth = tune(),
  min_n = tune()) %>% 
  set_engine("rpart") %>%
  # 核心:设置为生存回归模式
  set_mode("censored regression")

# 工作流配置与原有逻辑一致
tree_workflow <- 
  workflow() %>% 
  add_recipe(data_recipe) %>% 
  add_model(tree_spec) 

Cox回归模型

# 非正则化Cox回归
cox_spec <- cox_reg() %>%
  set_engine("survival") %>%
  set_mode("censored regression")

# 可超参调优的正则化Cox回归
reg_cox_spec <- cox_reg(
  penalty = tune(),
  mixture = tune()
) %>%
  set_engine("glmnet") %>%
  set_mode("censored regression")

生存随机森林模型

rf_spec <- rand_forest(
  mtry = tune(),
  trees = tune(),
  min_n = tune()
) %>%
  set_engine("randomForestSRC") %>%
  set_mode("censored regression")

调参流程说明

调参逻辑与tidymodels通用流程完全一致:

  • 构造重抽样集时可按事件变量分层,保证各折样本的事件分布一致
  • 调参评估指标可使用concordance_survival、brier_survival等生存分析专用指标
  • 测试代码中n=20样本量过小,实际使用需提升样本量保证结果稳定性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:57:03