决策树中的信息增益、信息增益比和基尼系数

2020-02-03  本文已影响0人  jieyao

前面的信息论已经简单介绍了信息熵的概念。在决策树算法中,也使用到了信息增益来构建决策树。下面会通过一个通俗的例子理解信息增益与信息增益率。

信息增益 information gain

在决策树算法中,存在多个特征,那么在生成决策树时优先选取哪个特征呢? 这就是由信息增益说了算。信息增益高,说明该特征比较重要,因为它带来的信息量变化大。

信息增益的公式如下,即 信息熵-条件熵

\operatorname{Gain}(D, a)=H(D)-H(D|a)

以下是具体的例子:

以上总共有17个数据,D表示第k类样本所占比例,这里k为2,即是否为好瓜。好瓜的比例p1=\frac{8}{17}  不好的瓜的比例是p1=\frac{7}{17}

1. 信息熵 H(D)= -\sum_{k=1}^{2} p_{k} \log _{2} p_{k}=-\left(\frac{8}{17} \log _{2} \frac{8}{17}+\frac{9}{17} \log _{2} \frac{9}{17}\right)=0.998

2.色泽的条件熵

我这里想计算色泽的信息增益,于是我还需要计算色泽的条件熵

条件概率公式为\begin{aligned} \mathrm{H}(Y | X) & \equiv \sum_{x \in \mathcal{X}} p(x) \mathrm{H}(Y | X=x) \\ &=-\sum_{x \in \mathcal{X}} p(x) \sum_{y \in \mathcal{Y}} p(y | x) \log p(y | x) \\ &=-\sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x, y) \log p(y | x) \end{aligned}

这里色泽为{青绿、乌黑、浅白}

青绿色总共有6个,其中正例为3/6,反例为3/6  H\left(D^{1},青绿色\right)=-\left(\frac{3}{6} \log _{2} \frac{3}{6}+\frac{3}{6} \log _{2} \frac{3}{6}\right)=1.000

乌黑的总共有6个,其中正例为4/6,反例为2/6  

H\left(D^{2},乌黑\right) =-\left(\frac{4}{6} \log _{2} \frac{4}{6}+\frac{2}{6} \log _{2} \frac{2}{6}\right)=0.918

浅白的总共有5个,其中正例为1/5,反例为4/5  

H\left(D^{3},浅白\right) =-\left(\frac{1}{5} \log _{2} \frac{1}{5}+\frac{4}{5} \log _{2} \frac{4}{5}\right)=0.722

色泽的条件熵

H(D|色泽) = \sum_{x=1}^3p(x) H(D|x)=\frac{6}{17} \times 1.000+\frac{6}{17} \times 0.918+\frac{5}{17} \times 0.722=0.889

3. 色泽的信息增益

\operatorname{Gain}(D, 色泽)=H(D)-H(D|色泽) = 0.998-0.889=0.109

同理,可以计算出其他特征的信息增益

\operatorname{Gain}(D, 根蒂)=0.143    \operatorname{Gain}(D, 敲声)=0.141   \operatorname{Gain}(D, 纹理)=0.381

\operatorname{Gain}(D,脐部)=0.289    \operatorname{Gain}(D, 触感)=0.006

可见纹理的信息增益最大,即在以上几个特征中,纹理的信息会比较大的影响一个瓜的好坏。在决策树算法中,则会优先选择该特征作为当前节点。

信息增益率 gain ratio

实际上,信息增益会偏好于取值数目较多的属性,而信息增益率能够避免这个影响。其公式如下

G i n i(p)=\sum_{k=1}^{K} p_{k}\left(1-p_{k}\right)=1-\sum_{k=1}^{K} p_{k}^{2}\text { Gain ratio }(D, a) = \frac{\operatorname{Gain}(D, a)}{\operatorname{IV}(a)} 

其中 \mathrm{IV}(a)=-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \log _{2} \frac{\left|D^{v}\right|}{|D|} 被称为属性a的固有值 intrinstic value.

属性a的取值数量越多,则IV(a)的值通常会更大

IV(色泽) = -(\frac{6}{17}\log_2 \frac{6}{17}  + \frac{6}{17}\log_2 \frac{6}{17}  +\frac{5}{17}\log_2 \frac{5}{17}  )= 0.15798

\text { Gain ratio }(D, 色泽) = \frac{\operatorname{Gain}(D, 色泽)}{\operatorname{IV}(色泽)}=\frac{0.109}{0.15798}=0.6899

基尼指数 Gini index

不管是信息增益还是信息增益率,都存在大量的对数运算,而在Cart的决策树算法中,就是使用基尼系数来表示信息的纯度,因为它在简化模型计算的同时又保留了信息熵的特性。

对于分类问题,如果数据集D有k个分类,并且第k个分类的概率为p_{k},数据集D的纯度可以用基尼值来度量,则其基尼指数为:

G i n i(p)=\sum_{k=1}^{K} p_{k}\left(1-p_{k}\right)=1-\sum_{k=1}^{K} p_{k}^{2}

Gini(D)反映的是从D中随机抽取两个样本,其类别标记为不一致的概率;Gini(D)越小,数据纯度越高。

对于样本D,如果根据特征a有v种可能,则其基尼指数为

Gini(D,a) = \sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Gini}\left(D^{v}\right)

在特征选取中,会优先选择基尼指数最的属性作为优先划分属性

上一篇下一篇

猜你喜欢

热点阅读