超参数调整的顺序

数据挖掘 回归 随机森林 超参数调整
2022-02-23 03:24:58

我正在尝试为随机森林回归模型进行超参数调整。我的问题是-我应该这样做吗?喜欢从特定参数开始,然后继续前进?我应该每次只使用一个参数检查模型,还是对于我正在检查的每个参数,我应该添加我已经找到的参数?

示例:如果我只使用 n_job -1 和 min_sample_leaf 运行模型,并且我得到了 min_sample_leaf 的最佳值,现在我想检查最大深度,然后再设置更多参数,我是否应该已经为 min 设置了最佳值)样品叶?或者我应该在没有任何其他参数的情况下检查它,并最终创建具有每个参数的最佳值的模型?

2个回答

看看这篇博文: https ://towardsdatascience.com/hyperparameter-tuning-the-random-forest-in-python-using-scikit-learn-28d2aa77dd74

理想情况下,您应该联合优化超参数,而不是一个接一个地优化。更重要的是,您应该进行交叉验证。还要考虑帖子中描述的 RandomizedSearchCV。

由于各种超参数是相关的,因此您无法确定 - 例如 -min_samples_split来自所有其他超参数都设置为默认值的模型的调整值通常是最优的。当您遇到限制树深度的情况时(max_depth假设您使用sklearn),min_samples_split可能是一个非约束性约束。但是,当您设置时它可能是相关max_depth=None的,因为如文档中所述:

如果为 None,则扩展节点直到所有叶子都是纯的或直到所有叶子包含少于 min_samples_split 样本。

从实际的角度来看,我会开始调整n_estimators(越多越好),max_depthmax_features(特征数量的平方根是一个很好的起点)与一个固定的random_state. 根据结果​​,您可能会开始添加额外的约束。