在随机森林 tidymodels r 中设置调整游侠的最大深度
set max depth for tuning ranger in random forest tidymodels r
我想调整随机森林的深度以避免过度拟合。我正在使用 tidymodels,这是我的模型代码。
rf_model <- rand_forest(mtry = tune(),
trees = tune(),
max.depth = tune()) %>%
set_mode("classification") %>%
set_engine("ranger", importance = "impurity")
它给我一个错误:
Error in rand_forest(mtry = tune(), trees = tune(), max.depth = tune()): unused argument (max.depth = tune())
我还尝试了 dials 文档中的 tree_depth = tune(),但它给出了同样的错误。
但是当我查看 ranger 文档时,它有 max.depth 作为参数。想知道如何使用 tidymodels tune 调整深度。
谢谢
没有 max.depth
参数,所以就像在 ranger 中一样(参见 What is equivalent of "max depth" in the 'R' package "ranger"? 的解释)可以使用最小节点数来代替。这有效:
rf_model <- rand_forest(mtry = tune(), trees = tune(), min_n = tune()) %>%
set_mode("classification") %>% set_engine("ranger", importance = "impurity")
产生有效的 rf_model
:
> rf_model
Random Forest Model Specification (classification)
Main Arguments:
mtry = tune()
trees = tune()
min_n = tune()
Engine-Specific Arguments:
importance = impurity
Computational engine: ranger
我想调整随机森林的深度以避免过度拟合。我正在使用 tidymodels,这是我的模型代码。
rf_model <- rand_forest(mtry = tune(),
trees = tune(),
max.depth = tune()) %>%
set_mode("classification") %>%
set_engine("ranger", importance = "impurity")
它给我一个错误:
Error in rand_forest(mtry = tune(), trees = tune(), max.depth = tune()): unused argument (max.depth = tune())
我还尝试了 dials 文档中的 tree_depth = tune(),但它给出了同样的错误。
但是当我查看 ranger 文档时,它有 max.depth 作为参数。想知道如何使用 tidymodels tune 调整深度。
谢谢
没有 max.depth
参数,所以就像在 ranger 中一样(参见 What is equivalent of "max depth" in the 'R' package "ranger"? 的解释)可以使用最小节点数来代替。这有效:
rf_model <- rand_forest(mtry = tune(), trees = tune(), min_n = tune()) %>%
set_mode("classification") %>% set_engine("ranger", importance = "impurity")
产生有效的 rf_model
:
> rf_model
Random Forest Model Specification (classification)
Main Arguments:
mtry = tune()
trees = tune()
min_n = tune()
Engine-Specific Arguments:
importance = impurity
Computational engine: ranger