版权声明:本文为博主原创文章,可以随便转载 https://blog.csdn.net/appleyuchi/article/details/83042593
来举个简单的例子:
数据集D(出去玩是标签)
A代表属性,A=心情、天气
心情 天气 出去玩
好 晴朗 玩
不好 下雨 不玩
不好 刮风 不玩
好了 ,现在建立决策树,根节点是啥?
第一种方式(信息熵增益):
令A=天气
总熵S(D)=
−31log231−32log232=0.918
条件熵S(D|A)=
31⋅0+31⋅0+31⋅0=0
g(D,A)=S(D)-S(D|A)=0.918
令A=心情
总熵S(D)=
−31log231−32log232=0.918
条件熵S(D|A)=
31⋅0+32⋅0=0
g(D,A)=S(D)-S(D|A)=0.918
现在选择哪一个呢?
显然定不下来。
----------------计算心情的信息熵增益率-------------
A=心情时,特征熵=
31log231+32log232=0.918
A=天气时,特征熵=
−3⋅31log231=1.5849
那么此时特征A的信息熵增益率是
1.58490.918=0.58
结论,可以看到,使用信息熵增益率可以更好地对数据集进行划分
让划分更加符合实际情况。
因为显然,刮风天出不出去玩是看心情的。