使用基尼指数的决策树

Posted

技术标签:

【中文标题】使用基尼指数的决策树【英文标题】:Decision Tree using Gini index 【发布时间】:2016-02-08 07:27:36 【问题描述】:

我正在尝试实现基于伪的决策树算法。

但是,我不明白为什么第一个节点应该是outlook。

Outlook的基尼指数不应该是1-(5/14)^2-(5/14)^2-(4/14)^2 = 0.663265306吗, 湿度的基尼指数=1-(4/14)^2-(6/14)^2-(4/14)^2 = 0.653061224?

由于基尼指数代表属性的杂质,因此选择基尼指数较低的属性更为合理。

我查找 gini 指数的方法是错误的还是我应该知道其他一些事情?

数据

Rainy   Hot High    FALSE   No
Rainy   Hot High    TRUE    No
Overcast    Hot High    FALSE   Yes
Sunny   Mild    High    FALSE   Yes
Sunny   Cool    Normal  FALSE   Yes
Sunny   Cool    Normal  TRUE    No
Overcast    Cool    Normal  TRUE    Yes
Rainy   Mild    High    FALSE   No
Rainy   Cool    Normal  FALSE   Yes
Sunny   Mild    Normal  FALSE   Yes
Rainy   Mild    Normal  TRUE    Yes
Overcast    Mild    High    TRUE    Yes
Overcast    Hot Normal  FALSE   Yes
Sunny   Mild    High    TRUE    No

Here is the pseudo code of Decision Tree that I'm building

Here is the answer

【问题讨论】:

【参考方案1】:

基尼系数是衡量纯度的标准。对于两个类,均等拆分的最小值为 0.5。然后,基尼系数随着任一类别的比例增加而增加。当基尼系数为 1 时,该集合在一类或另一类中是 100% 纯的。

决策树的目的是最大化孩子的纯度。毕竟,这就是模型“学习”识别类的方式——通过分离它们。因此,您需要较大的基尼指数,而不是较小的。根据您的计算,这将是 Outlook 而不是 Humidity。

【讨论】:

基尼指数不是衡量杂质的标准吗? @Lebanner 。 . .纯度,杂质。 . .衡量一个是衡量另一个。更大的基尼值意味着更高的纯度,决策树算法力求最大限度地提高叶子的纯度(或尽量减少杂质,如果您愿意)。 我试图计算第三个属性的基尼指数,我得到了最高的0.850062474...你认为我做错了哪一部分?

以上是关于使用基尼指数的决策树的主要内容,如果未能解决你的问题,请参考以下文章

如何获取决策树中的所有基尼指数?

决策树中的熵和基尼指数

为啥基尼指数考虑决策树中的二分法?

决策树系列三——基尼指数,减枝和

统计学习笔记之决策树

通俗理解决策树