决策树几乎总是二叉树吗?

机器算法验证 机器学习 数据挖掘 大车
2022-02-10 21:53:40

我遇到的几乎每个决策树示例都恰好是二叉树。这很普遍吗?大多数标准算法(C4.5、CART 等)是否只支持二叉树?据我所知,CHAID不仅限于二叉树,但这似乎是一个例外。

在其中一个孩子上进行双向拆分,然后再进行一次双向拆分与单个三向拆分不同。这可能是一个学术观点,但我试图确保我了解最常见的用例。

4个回答

这主要是一个技术问题:如果您不限于二元选择,那么树中的下一个拆分的可能性太多了。因此,您在问题中提出的所有观点都绝对正确。

请注意,大多数树型算法是逐步工作的,即使这样也不能保证给出最好的结果。这只是一个额外的警告。

对于大多数实际目的,尽管不是树的构建/修剪期间,但两种拆分是等价的,因为它们立即出现在彼此之后。

对其中一个孩子进行双向拆分,然后对其中一个孩子进行另一次双向拆分与单个三向拆分不同

我不确定你在这里的意思。任何多路拆分都可以表示为一系列双向拆分。对于三路拆分,您可以拆分为 A、B 和 C,首先拆分为 A&B 与 C,然后从 B 中拆分出 A。

给定的算法可能不会选择那个特定的序列(特别是如果像大多数算法一样,它是贪婪的),但它肯定可以。如果像在随机森林或增强树中那样进行任何随机化或阶段性程序,则找到正确的分裂序列的机会就会增加。正如其他人指出的那样,多路拆分的计算成本很高,因此考虑到这些替代方案,大多数研究人员似乎都选择了二元拆分。

希望这可以帮助

关于决策树和拆分(二进制与其他)的使用,我只知道 CHAID 具有非二进制拆分,但可能还有其他拆分。对我来说,非二元拆分的主要用途是在数据挖掘练习中,我正在研究如何以最佳方式对具有多个级别的名义变量进行分箱。一系列二进制拆分不如 CHAID 完成的分组有用。

请阅读

出于实际原因(组合爆炸),大多数库都使用二进制拆分来实现决策树。好消息是它们是 NP 完全的(Hyafil、Laurent 和 Ronald L. Rivest。“构建最优二元决策树是 NP 完全的。” Information Processing Letters 5.1 (1976): 15-17.)