我正在尝试在 tidymodels 中使用 workflow_set() 函数来评估一批模型。我知道可以修改某些模型规范以更改搜索范围,例如,鉴于此规范:
spec_lin <- linear_reg( penalty = tune(),
mixture = tune() ) %>%
set_engine('glmnet')
我可以使用以下方法修改范围:
rec_base <- recipe( price ~ feat_1) %>%
step_novel(feat_1) %>%
step_other(feat_1,threshold=.2 ) %>%
step_dummy(feat_1)
rec_adv_param <- rec_base %>%
parameters() %>%
update ( mixture = mixture(c(0.1,0.01)) )
我的尝试是做同样的事情,但使用配方中的参数。例如:
rec_tuned <- recipe( price ~ feat_1) %>%
step_novel(feat_1) %>%
step_other(feat_1,threshold=tune() ) %>%
step_dummy(feat_1)
其次是
rec_adv_param <- rec_tuned %>%
parameters() %>%
update ( threshold = threshold(c(0.1,0.2)) )
但是,当我尝试在 workflow_set() 定义中使用它时,如果我使用类似的东西
wf_set <- workflow_set(recipes, models, cross = TRUE )
option_add(param_info = rec_adv_param, id = "rec_tuned_spec_lin")
结局“wf_set”失去了他原来的调整参数,已经改变了
threshold = threshold(c(0.1,0.2)
有没有办法在所有 workflow_set 模型中添加配方的参数规范?
谢谢