《机器学习实战》第三章决策树提到信息增益和熵的含义,并含python代码实现,本文对代码进行了注释。
一、熵的理解:
信息论创始人克劳德·艾尔伍德·香农,引入了信息熵,表示随机变量不确定度的度量。
公式如下:
满足如下三条性质:
- 单调性:发生概率越高的事件,所携带的信息熵越低。例:“太阳每天从东方升起”为确定事件,不携带信息,从信息论角度,没有消除任何不确定性,信息量为0。
- 非负性:信息熵不能为负。 若为负,则获得某信息后不确定性反而增加,不合逻辑。
- 累加性:多随机事件同时发生存在的总不确定性的量度==各事件不确定性的量度之和。
香农已从数学上证明了满足上述三个条件的随机变量不确定性度量函数具有唯一形式,即上述的 H(X)公式。
即:一个事件的信息量就是这个事件发生的概率的负对数。
熵就是信息量的期望(平均而言发生一个事件得到的信息量大小)
二、计算给定数据的熵---python实现
from math import log
impo