决策树使用Gini索引

时间:2015-11-07 03:30:37

标签: machine-learning classification decision-tree

我试图实现基于伪的决策树算法。

但是,我不明白为什么第一个节点应该是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索引表示属性的杂质,因此选择具有较低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 :(得分:1)

基尼系数是衡量纯度的指标。对于两个类,对于相等的分割,最小值为0.5。随着两类比例的增加,基尼系数逐渐增加。当Gini度量为1时,该集合在一个或另一个类别中是100%纯。

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