我使用scikit-learn构建回归树,使用tree.DecisionTreeRegression()。
我提供了56个数据样本,它构建了一个包含56个节点的树(修剪= 0)。
如何对树进行一些修剪?任何帮助表示赞赏!
答案 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。