决策树学习算法

3

首先声明,这是一项作业任务。

我有一组 Q 个二进制输入变量,将用于分类也是二进制的输出 Y。

问题的第一部分是:最多需要多少个示例才能枚举 Q 的所有可能组合? 我认为最多需要 Q 个示例,因为可能存在所有值都相同(例如1),而 Q 处的项为0。

问题的第二部分是:在给定 Z 个示例的情况下,树最多可以有多少个叶节点?我的答案是,树最多会有2个叶节点,一个表示 True,一个表示 False,因为它处理二进制输入和二进制输出。

这样考虑这个问题的方式是否正确,或者我的回答过于泛化了?

编辑

经过查看 Cameron 的回答后,我现在会把我的第一个答案改成 2^Q,并以他 Q=3 的示例为基础,我会得到 2^3 或 8 (2*2*2)。如果这种想法不正确,请纠正我。

第二次编辑

问题的第二部分似乎应该是 (2^Q) * Z,或提供一个例子:(2^3) * 3,即 8*3 = 24 个叶节点。总之,如果我有3个二进制输入,我最初会用 2^3 得到 8,现在我想要超过3个示例。因此,我应该得到 8*3 或 24。

第三次编辑

回过头来看,似乎无论我使用多少示例,叶节点的数量都不应增加,因为它是基于每个树的基础。


@Roger 很高兴知道,我以为它仍然被接受,所以我最初标记为那样。 - Woot4Moo
我知道,这就是为什么我小心地在编辑历史中留下了解释和链接的原因。(大家注意一下:提示,提示,请查看历史记录 ;)) - Roger Pate
1个回答

1

我建议您通过手动计算小例子来解决问题。

对于第一部分,选择一个小的Q值,比如3,并写下所有可能的Q组合。然后您可以计算出需要多少个示例。增加Q并再次执行。

对于您问题的第二部分,选择一个小的Z并手动运行决策树算法。看看您得到了多少叶子节点。然后选择另一个Z并查看/更改它是否会发生变化。尝试生成不同的示例(使用相同的Z)并查看是否可以更改叶子节点的数量。


只是为了确保我们在同一个页面上,由于二进制条件只能生成两个值,即真或假,我想这将类似于2^Q的形式,也就是说2的Q次方。 - Woot4Moo
我已经添加了一些信息来展示我认为这种方法的方向,你能给我一些建议吗? - Woot4Moo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接