使用信息熵构建决策树

信息熵

信息熵是用来衡量信息的不确定性的指标,不确定性是一个事件出现不同结果的可能性,计算的方法如下:

在这里插入图片描述
其中P(X=i) 为随机变量x取值为i的概率
假设硬币得到正面的概率等于反面的概率都为0.5
那么信息熵为:

Entropy=-0.5*log 0.5 -0.5*log 0.5=1

如果得到正面的概率为0.99,得到反面的概率为0.01
那么信息熵为:

Entropy=-0.99*log 0.99 -0.01*log 0.01=0.08

条件熵:在给定随机变量Y的条件下,随机变量X的不确定性
在这里插入图片描述
信息增益:熵-条件熵,代表了在一个条件下,信息不确定性减少的程度

在这里插入图片描述
使用信息熵构建决策树_第1张图片
上图所示父节点熵为0.996,两个子节点熵分别为0.787和0.391.
所以:条件熵为:(17/30)*0.787+(13/30)*0.391=0.615
信息增益=父节点熵-子节点条件熵=0.996-0.615

例:
假设高尔夫球场拥有不同天气某个客户的打高尔夫球的历史记录,如下图所示:
我们无法单纯通过YES和NO的历史频率判断用户会不会打高尔夫,因此我们需要借助天气信息减少不确定性。
使用信息熵构建决策树_第2张图片
首先呢建立根节点,我们先看一下play golf的熵:
根据上面熵的公式求解为 H=-0.64log0.64-0.36log0.36=0.94
接下来我们寻找晴朗与否,湿度,风力和温度四种状况是否打高尔夫相关性最高的一个,进行决策树的构建。
使用信息熵构建决策树_第3张图片
使用outlook的条件熵 0.360.971+0.290+0.360.971=0.69
信息增益为 0.94-0.69=0.25
然后计算温度Temp,湿度Humidity和风力Wind的条件熵与信息增益,如下图所示:
使用信息熵构建决策树_第4张图片
使用outlook分隔的熵 0.36
0.971+0.290+0.360.971=0.69 信息增益为:0.940-0.69=0.25
使用temp分隔的熵 0.291+0.430.918+0.290.811=0.92 信息增益为:0.940-0.92=0.02
使用Humidity分隔的熵 0.5
0.985+0.50.592=0.79 信息增益为:0.940-0.79=0.15
使用Wind分隔的熵 0.57
0.811+0.43*1=0.89 信息增益为:0.940-0.89=0.05
选择信息增益最大的outlook作为分裂节点,然后在根据以上的过程继续分裂直到满足一定的收敛条件。

你可能感兴趣的:(决策树,决策树,信息熵,机器学习)