0 前言
- 本文主要介绍信息增益的计算公式并举出若干例子帮助理解。
- 读者需要具备的知识有:信息熵、条件熵。
- 本文所示用的数据集为:游玩数据集 1.1节
1 信息增益计算公式
- g(D,A)表示在条件A下对于目标变量D的信息增益。
- H(D)表示随机变量D的信息熵。
- H(D|A)表示在随机变量A条件下对于目标变量D的条件熵。
2 信息增益的计算
2.1 g(play,outlook)的计算
g(play,outlook)表示在随机变量outlook条件下对于目标变量play的信息增益,计算步骤如下。
-
完整公式:g(play,outlook)=H(play)-H(play|outlook)
-
首先要计算H(play),详细计算方法请看信息熵,计算式如下所示。
-
然后计算H(play|outlook),详细计算方法请看条件熵,计算式如下。
-
最后计算g(play,outlook),计算式如下。
2.2 g(play,temperature)的计算
g(play,temperature)表示在随机变量temperature条件下对于目标变量play的信息增益,计算步骤如下。
-
完整公式:g(play,temperature)=H(play)-H(play|temperature)
-
首先要计算H(play),详细计算方法请看信息熵,计算式如下所示。
-
然后计算H(play|temperature),详细计算方法请看条件熵,计算式如下。
H(play|temperature='cool')=-(1.0/4.0)log2(1.0/4.0)-(3.0/4.0)log2(3.0/4.0)=0.8113
H(play|temperature='hot')=-(2.0/4.0)log2(2.0/4.0)-(2.0/4.0)log2(2.0/4.0)=1.0000
H(play|temperature='mild')=-(2.0/6.0)log2(2.0/6.0)-(4.0/6.0)log2(4.0/6.0)=0.9183
H(play|temperature)=(4.0/14)* H(play|temperature='cool')+(4.0/14)* H(play|temperature='hot')+(6.0/14)* H(play|temperature='mild')=0.9111
-
最后计算g(play,temperature),计算式如下。
g(play,temperature)=H(play)-H(play|temperature)=0.9403-0.9111=0.0292
3 计算程序
程序
4 结语
如有错误请指正,禁止商用。