使用基尼指数的决策树
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...你认为我做错了哪一部分?以上是关于使用基尼指数的决策树的主要内容,如果未能解决你的问题,请参考以下文章