【问题标题】:How to get the pruned random forest model after pruning?剪枝后如何得到剪枝后的随机森林模型?
【发布时间】:2020-12-15 08:27:23
【问题描述】:

在来自 Scikit Learn 的随机森林回归器中,可以设置与修剪技术 (docs) 相关的 ccp_alpha 参数,我正在使用它来控制我的过度拟合。

应用它后,我想使用这个修剪后的模型通过随机搜索执行超参数调整并找到我最好的模型。所以,我想要这个修剪后的模型。

是否有可能得到这个修剪后的模型?

【问题讨论】:

  • “获取”模型是什么意思?在您的fit(或交叉验证) 之后返回的模型确实是修剪后的模型,如果您使用非零 ccp_alpha 指定。

标签: scikit-learn random-forest


【解决方案1】:

当您将.fit(X_train, y_train) 函数应用于RandomForestClassifier()RandomForestRegressor() 类的对象时,返回的拟合模型已被修剪。 这发生在 sklearn 实现的底层。同样从理论上讲,RandomForest 不仅仅是决策树的组合,而是多个大型决策树的修剪、聚合和使用默认设置的自举版本。

请放心,这里返回的模型不会因为剪枝而过拟合。如果您确实注意到过度拟合,我建议您检查模型的 o.o.b 分数并描述您的整个数据管道以获得进一步的建议

【讨论】:

    【解决方案2】:

    请参阅 scikit-learn 中的此文档 https://scikitlearn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html

    它包括使用成本复杂性实现修剪的详细说明。

    【讨论】:

      猜你喜欢
      • 2015-10-15
      • 2021-08-06
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      • 1970-01-01
      • 2019-07-10
      • 2017-08-11
      相关资源
      最近更新 更多