构建决策树时在具有相同信息增益的最佳两个属性之间进行选择

机器算法验证 分类 大车
2022-03-26 09:06:58

在构建决策树时,假设有两个属性具有相同的最大信息增益。

选择这两个属性中的任何一个作为树节点会有什么区别吗?或者为了决定我应该选择哪个属性,我还需要考虑其他因素吗?

4个回答

答案很简单,选择第一个预测变量(在原始数据帧中从左到右找到)。请参阅此线程以获取证据。所以,整理一切:

选择这两个属性中的任何一个作为树节点会有什么区别吗?

不,选择其中一个绝对没有区别。

所以对于文本分类,它会按字母顺序检查。

这仅在预测变量的数据框(的列)按字母顺序排列的情况下才是正确的。

您可以提前查看拆分后剩余属性的信息增益,并据此进行选择。

这不是一个坏主意,并且对于一棵小树可以手动完成,但这绝对不是在 CART 中实现的。首先,它会非常昂贵:想象一棵大树,一个人必须尝试的所有组合。更重要的是,这违背了递归分区的思想,在每个步骤中,最好的预测器可以简单地确定为产生当前节点的最佳分区的那个。此过程以之前的拆分为条件(当前节点是由之前的拆分创建的);不是相反。CART 本质上是贪婪的,结果表明,展望未来并没有带来明显更好的结果,请参阅这篇博士论文第 2.5.4 节。

您可以尝试两种树,看看哪一种在您的终端节点处创建更好的分离和/或构建一个更符合您对数据的理论理解的树吗?

同样,如果有大量的预测变量,要尝试的树的数量将是巨大的。此外,机器学习通常在对输入和输出变量之间关系的理解非常有限的情况下使用(否则,可以指定一个明确的模型,请参阅本文),因此基于理论理解做出决策大多数时候不是可能的。最后,CART 树通常是 RForest 和 Boosting 等集成模型的基础模型,其中大量树是自动生长的,因此在这些情况下,完全不可能将任何人类理解注入到树的构建过程中。

您可以提前查看拆分后剩余属性的信息增益,并据此进行选择。但总的来说,如果您使用信息增益作为分割标准,那么它将是唯一需要关注的东西。

决策树方法是一种逐步建立模型的方法,因此较早输入的变量会直接影响以后输入的变量。您可以尝试两种树,看看哪一种在您的终端节点处创建更好的分离和/或构建一个更符合您对数据的理论理解的树吗?

您还可以在构建两棵树后查看验证测试显示的内容,并选择最适合所有数据的树。

我处理文本分类问题,对于分类我使用决策树分类器(ID3、随机森林等)。所以我可以给你一个与文本分类相关的例子。在分类中,我们将处理不同的单词作为属性,您可以使用信息增益阈值来减少特征,一旦您拥有了所有减少的特征,它将遵循我在下面提到的过程。

在构建决策树时,会从信息增益最高的属性开始,现在有多个词/属性具有相同的信息增益值。所以对于文本分类,它会按字母顺序检查。

例如:对于根节点,有两个信息增益最高的词(IG=0.5的“Good”和IG=0.5的“Awesome”),将选择“Awesome”作为根节点。

希望这将有助于解决疑问。

如果您可以下载名为“Weka”的机器学习包并使用您自己的数据集尝试决策树分类器,那就太好了。美妙的是,在分类过程之后,您可以看到创建的决策树。Weka 的 ID3、随机树和随机森林使用信息增益来分割节点。