我有一个我不明白的简单问题:
为什么Scikit Learn中的决策树是二叉树而不是n-ary树?
有谁知道答案?请告诉我,非常感谢你。
答案 0 :(得分:0)
这更适合交叉验证的网站,但答案很简单。任何决策树都只是简单地划分空间,叶节点是数据,而赋值是该数据的函数,在分类的情况下通常占多数,在回归的情况下通常是经验平均值。
但是,每个决策树都可以转换为二元决策树。直观地说,如果你有一个规则在1级(X1 <1和X2> 10),那么可以通过向下移动谓词的一部分来将其转换为两级运行。
由于发生了组合爆炸,训练二元决策树要比n-ary简单得多。而不是随机选择拆分变量然后优化该字段(1-d优化),N-ary树必须选择变量子集并优化该集合。