【问题标题】:Python Decision Tree Regressor PruningPython 决策树回归器修剪
【发布时间】:2018-04-11 09:52:48
【问题描述】:

我正在使用 scikit-learn 构建回归树,使用 tree.DecisionTreeRegression()。

我提供了 56 个数据样本,它为我构建了一个有 56 个节点的树(修剪=0)。

如何对树进行一些修剪?任何帮助表示赞赏!

【问题讨论】:

    标签: python tree regression cart


    【解决方案1】:

    默认情况下,sklearn 树会一直生长,直到每个叶子都是纯的(并且模型完全过拟合)。如果要微调复杂性,可以设置许多不同的参数,以不同的方式限制树的生长。列出的参数有:max_depth、min_samples_split、min_samples_leaf、min_weight_fraction_leaf、max_leaf_nodes、min_impurity_decrease

    用法见the docs

    【讨论】:

      【解决方案2】:

      你不能;使用matlab。目前正在为此苦苦挣扎。使用基于 python 的自制决策树也是一种选择。但是,不能保证它会正常工作(很多地方你可以搞砸)。如果你想要任何合理的运行时间(现在也在努力解决这个问题),你需要用 numpy 来实现。

      如果您仍然有这个问题,我确实有一个使用节点知识的决策树,并且本周末正在实施修剪......

      如果我让它运行得很快并且代码不是太复杂,如果你仍然感兴趣,我会在这里发布一个 GitHub,以换取我在 LinkedIn 上对 ML'ing 和 Python/Numpy 专业知识的认可。

      【讨论】:

        猜你喜欢
        • 2020-03-03
        • 2012-02-09
        • 2014-05-22
        • 2019-06-14
        • 2011-04-28
        • 2011-05-02
        • 2015-09-22
        • 2018-09-02
        相关资源
        最近更新 更多