参考:
https://www.cnblogs.com/feiyumo/p/9284490.html
一、ID3算法
“信息熵”是度量样本集合不确定度(纯度)的最常用的指标。
在我们的ID3算法中,我们采取信息增益这个量来作为纯度的度量。我们选取使得信息增益最大的特征进行分裂!
信息熵是代表随机变量的复杂度(不确定度),条件熵代表在某一个条件下,随机变量的复杂度(不确定度)。而我们的信息增益恰好是:信息熵-条件熵。
•当前样本集合 D 中第 k 类样本所占的比例为 pk ,则 D 的信息熵定义为
•离散属性 a 有 V 个可能的取值 {a1,a2,…,aV};样本集合中,属性 a 上取值为 av 的样本集合,记为 Dv。
•用属性 a 对样本集 D 进行划分所获得的“信息增益”
•信息增益表示得知属性 a 的信息而使得样本集合不确定度减少的程度
在决策树算法中,我们的关键就是每次选择一个特征,特征有多个,那么到底按照什么标准来选择哪一个特征。
这个问题就可以用信息增益来度量。如果选择一个特征后,信息增益最大(信息不确定性减少的程度最大),那么我们就选取这个特征。
选择指标就是在所有的特征中,选择信息增益最大的特征。那么如何计算呢?看下面例子:
正例(好瓜)占 8/17,反例占 9/17 ,根结点的信息熵为
计算当前属性集合{色泽,根蒂,敲声,纹理,脐部,触感}中每个属性的信息增益
色泽有3个可能的取值:{青绿,乌黑,浅白}
D1(色泽=青绿) = {1, 4, 6, 10, 13, 17},正例 3/6,反例 3/6
D2(色泽=乌黑) = {2, 3, 7, 8, 9, 15},正例 4/6,反例 2/6
D3(色泽=浅白) = {5, 11, 12, 14, 16},正例 1/5,反例 4/5
3 个分支结点的信息熵
那么我们可以知道属性色泽的信息增益是: