我遇到的几乎每个决策树示例都恰好是二叉树。这很普遍吗?大多数标准算法(C4.5、CART 等)是否只支持二叉树?据我所知,CHAID不仅限于二叉树,但这似乎是一个例外。
在其中一个孩子上进行双向拆分,然后再进行一次双向拆分与单个三向拆分不同。这可能是一个学术观点,但我试图确保我了解最常见的用例。
我遇到的几乎每个决策树示例都恰好是二叉树。这很普遍吗?大多数标准算法(C4.5、CART 等)是否只支持二叉树?据我所知,CHAID不仅限于二叉树,但这似乎是一个例外。
在其中一个孩子上进行双向拆分,然后再进行一次双向拆分与单个三向拆分不同。这可能是一个学术观点,但我试图确保我了解最常见的用例。
这主要是一个技术问题:如果您不限于二元选择,那么树中的下一个拆分的可能性太多了。因此,您在问题中提出的所有观点都绝对正确。
请注意,大多数树型算法是逐步工作的,即使这样也不能保证给出最好的结果。这只是一个额外的警告。
对于大多数实际目的,尽管不是在树的构建/修剪期间,但两种拆分是等价的,因为它们立即出现在彼此之后。
对其中一个孩子进行双向拆分,然后对其中一个孩子进行另一次双向拆分与单个三向拆分不同
我不确定你在这里的意思。任何多路拆分都可以表示为一系列双向拆分。对于三路拆分,您可以拆分为 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.)