【问题标题】:How to tune Sklearn's RandomForest? max_depth Vs min_samples_leaf如何调整 Sklearn 随机森林? max_depth 与 min_samples_leaf
【发布时间】:2017-05-14 11:30:44
【问题描述】:

max_depth VS min_samples_leaf

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

max_features

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

scoring='roc_auc'

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

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

【问题讨论】:

    标签: machine-learning scikit-learn random-forest regularized


    【解决方案1】:

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

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

    其次,很难说为什么您的准确性会下降。您可能想尝试 nested CV 以了解best_params_ 在泛化到看不见的数据时表现出的准确度范围。

    【讨论】:

      猜你喜欢
      • 2016-07-23
      • 2014-09-04
      • 2019-03-14
      • 2020-01-16
      • 2018-03-05
      • 2017-04-28
      • 2018-01-18
      • 2016-04-18
      • 2019-08-02
      相关资源
      最近更新 更多