使用基尼指数的决策树
Decision Tree using Gini index
我正在尝试实现基于伪的决策树算法。
但是我不明白为什么第一个节点要是outlook
Outlook的gini指数不应该是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
基尼系数是衡量纯度的指标。对于两个 classes,均分的最小值为 0.5。随着 class 中任何一个的比例增加,基尼系数也会增加。当基尼系数为 1 时,该集合在一个或另一个中是 100% 纯的 class.
决策树的目的是最大化 children 的纯度。毕竟,这就是模型 "learns" 识别 classes 的方式——通过将它们分开。因此,您需要 较大的 基尼指数,而不是较小的。根据您的计算,这将是 Outlook 而不是湿度。
我正在尝试实现基于伪的决策树算法。
但是我不明白为什么第一个节点要是outlook
Outlook的gini指数不应该是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
基尼系数是衡量纯度的指标。对于两个 classes,均分的最小值为 0.5。随着 class 中任何一个的比例增加,基尼系数也会增加。当基尼系数为 1 时,该集合在一个或另一个中是 100% 纯的 class.
决策树的目的是最大化 children 的纯度。毕竟,这就是模型 "learns" 识别 classes 的方式——通过将它们分开。因此,您需要 较大的 基尼指数,而不是较小的。根据您的计算,这将是 Outlook 而不是湿度。