用python对决策树进行后期修剪

用python对决策树进行后期修剪,python,scikit-learn,decision-tree,pruning,Python,Scikit Learn,Decision Tree,Pruning,我正在尝试根据比样本大小和成本复杂性的内置修剪标准更复杂的条件对决策树进行后期修剪,例如,需要根据节点深度确定最小样本大小。有人知道一旦这些节点不满足我的条件,如何删除它们吗 到目前为止,我找到了这个解决方案,我可以将my_tree.children_left[index]=tree_LEAF,my_tree.children_right[index]=tree_LEAF,也就是将值设置为-1,这意味着切断父节点和子节点之间的连接。到目前为止,这种方法效果很好,但只是“连接”被切断了。所有节点仍

我正在尝试根据比样本大小和成本复杂性的内置修剪标准更复杂的条件对决策树进行后期修剪,例如,需要根据节点深度确定最小样本大小。有人知道一旦这些节点不满足我的条件,如何删除它们吗

到目前为止,我找到了这个解决方案,我可以将
my_tree.children_left[index]=tree_LEAF
my_tree.children_right[index]=tree_LEAF
,也就是将值设置为-1,这意味着切断父节点和子节点之间的连接。到目前为止,这种方法效果很好,但只是“连接”被切断了。所有节点仍然存在

在图片中,一些节点消失了。但在数据集中,它们仍然存在。例如,当打印修剪过的树的值时。仍然是11而不是6。我想知道如何删除它们