如何调整 Sklearn 随机森林? max_depth 比 min_samples_leaf

How to tune Sklearn's RandomForest? max_depth Vs min_samples_leaf

max_depth VS min_samples_leaf

参数 max_depthmin_samples_leaf 在多次尝试使用 GridSearchCV 期间让我最困惑。据我了解,这两个参数都是控制树深度的一种方式,如果我错了请纠正我

max_features

我正在做一个非常简单的分类任务,更改 min_samples_leaf 似乎对 AUC 分数没有影响;然而,调整深度可以将我的 AUC 从 0.79 提高到 0.84,相当惊人。似乎没有其他影响它。我认为我应该调整的主要内容是 max_features,但是,最佳结果值与 sqrt(n_features).

相差不远

scoring='roc_auc'

另一个问题,我注意到如果在更改树的数量时所有参数都是固定的,GridSearchCV 将始终是 select 树的最大数量。这是可以理解的,但由于某些原因 AUC 略有下降,尽管 scoring='roc_auc'。为什么会这样?它会考虑 oob_score 吗?

请随意分享任何有助于理解如何系统地调整随机森林的资源,因为似乎很少有相关参数相互影响。

随着您增加 最大深度,您会增加方差并减少偏差。另一方面,当您增加 min 样本叶 时,您会减少方差并增加偏差。

因此,这些参数将控制生长树时的正则化水平。总之,减少任何 max* 参数并增加任何 min* 参数将增加正则化。

其次,很难说出准确率下降的原因。您可能想尝试 嵌套 CV 来了解 best_params_ 在泛化到看不见的数据时表现出的准确度范围。