Python决策树回归修剪

时间:2016-12-04 15:42:55

标签: python tree regression cart

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

有关用法,请参阅the docs