gpt4 book ai didi

machine-learning - 为什么sklearn DecisionTreeClassifier的决策树结构只是二叉树?

转载 作者:行者123 更新时间:2023-11-30 08:30:19 35 4
gpt4 key购买 nike

从sklearn文档中我们可以看到here ,或者从我的实验来看,DecisionTreeClassifier的所有树结构都是二叉树。无论是基尼还是熵,每个DecisionTreeClassifier节点只能有0或1或2个子节点。

但是从决策树介绍slide (第3页),理论决策树的每个节点可以有2个以上的子节点。

所以我的问题是为什么sklearn DecisionTreeClassifier的决策树结构只是二叉树(每个DecisionTreeClassifier节点只能有1或2个子节点。)?我们能否为 DecisionTreeClassifier 获得具有 2 个以上子节点的树结构?

最佳答案

这是因为sklearn的方法是使用数值特征,而不是分类,当你有数值特征时,建立一个好的分割规则相对困难,它可以具有任意数量的阈值(需要产生超过 2 个 child )。另一方面,对于分类特征(在提供的幻灯片中使用),另一个可能的选择是拥有尽可能多的子值。两种方法都有其自身的问题(当您有大量可能的值时,分类方法使其几乎无法跟踪)并且数字需要特定的特征编码(分类的一个热门方法,这有效地意味着您仍然可以表达同一棵树,但不是“物种”有 3 个 child [狗,猫,人类],你将有更深的决策树:[狗,不是狗],[不是狗而是猫,不是狗,不是猫而是人类])。

所以简短的答案是,通过此实现您无法实现超过 2 个子级,但这并不是真正的限制。

关于machine-learning - 为什么sklearn DecisionTreeClassifier的决策树结构只是二叉树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38931245/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com