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

在tidymodels的workflow_set中为配方参数配置自定义调优范围的方法咨询

解决tidymodels workflow_set中保留配方和模型调参参数的问题

你遇到的问题核心是:当仅给option_add()传入配方的参数信息时,会覆盖掉模型本身的调参参数。要同时保留两者,需要将配方和模型的调参参数合并后再传入。

具体解决步骤

1. 定义带调参的配方和模型

先明确你的配方和模型规格:

# 带可调threshold参数的配方
rec_tuned <- recipe(price ~ feat_1) %>%
  step_novel(feat_1) %>%
  step_other(feat_1, threshold = tune()) %>%
  step_dummy(feat_1)

# 带可调penalty和mixture参数的glmnet模型
spec_lin <- linear_reg(penalty = tune(), mixture = tune()) %>%
  set_engine('glmnet')

2. 分别提取并更新配方和模型的参数

单独提取配方和模型的参数对象,调整各自的搜索范围:

# 提取并更新配方的threshold参数范围
rec_params <- parameters(rec_tuned) %>%
  update(threshold = threshold(c(0.1, 0.2)))

# 提取并更新模型的penalty和mixture参数范围
model_params <- parameters(spec_lin) %>%
  update(
    penalty = penalty(c(1e-4, 1e2)),  # 可根据你的需求调整范围
    mixture = mixture(c(0.01, 0.1))
  )

3. 合并参数并传入workflow_set

将两个参数对象合并,再通过option_add()传入workflow_set,这样就能同时保留配方和模型的所有调参参数:

# 合并配方和模型的参数
combined_params <- c(rec_params, model_params)

# 构建workflow_set并传入合并后的参数
recipes <- list(rec_tuned = rec_tuned)
models <- list(spec_lin = spec_lin)

wf_set <- workflow_set(recipes, models, cross = TRUE) %>%
  option_add(param_info = combined_params, id = "rec_tuned_spec_lin")

更简便的替代方法:从完整workflow提取参数

如果你只需要针对单个配方+模型组合调参,也可以先创建完整的workflow,再直接提取并更新整个workflow的参数,这样更不容易出错:

# 创建包含配方和模型的完整workflow
wf <- workflow() %>%
  add_recipe(rec_tuned) %>%
  add_model(spec_lin)

# 提取并更新整个workflow的所有调参参数
wf_params <- parameters(wf) %>%
  update(
    threshold = threshold(c(0.1, 0.2)),
    penalty = penalty(c(1e-4, 1e2)),
    mixture = mixture(c(0.01, 0.1))
  )

# 如果需要构建workflow_set,可以基于这个wf来创建
wf_set <- workflow_set(
  preproc = list(rec_tuned = rec_tuned),
  models = list(spec_lin = spec_lin),
  cross = TRUE
) %>%
  option_add(param_info = wf_params, id = "rec_tuned_spec_lin")

验证参数是否完整

你可以用以下代码检查workflow_set中的参数是否都被保留:

extract_parameter_set_dials(wf_set, id = "rec_tuned_spec_lin")

输出应该同时包含threshold、penalty和mixture三个调参参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 21:44:11