本文主要介绍了熵,信息增益,信息增益率和基尼指数的基本概念,并使用数据样例进行了计算。
数据样例
名称 | 是否用鳃呼吸 | 有无鱼鳍 | 是否为鱼 |
---|---|---|---|
鲨鱼 | 是 | 有 | 是 |
鲫鱼 | 是 | 有 | 是 |
河蚌 | 是 | 无 | 否 |
鲸 | 否 | 有 | 否 |
海豚 | 否 | 有 | 否 |
熵
熵是度量样本集合纯度最常用的一种指标,对于包含m个训练样本的数据集
D:{(X(1),(y(1)),(X(2),(y(2)),,⋯,(X(m),(y(m)),}
D
:
{
(
X
(
1
)
,
(
y
(
1
)
)
,
(
X
(
2
)
,
(
y
(
2
)
)
,
,
⋯
,
(
X
(
m
)
,
(
y
(
m
)
)
,
}
,在数据集D中,第k类的样本所占的比例为
pk
p
k
,则数据集D的信息熵为:
其中,K表示的是数据集D中类别的个数。对于数据样例中的,是否为鱼这一结果。其信息熵为;
当样本按照特征A的值a划分成两个独立的子数据集 D1 D 1 和 D2 D 2 时,此时整个数据集D的熵分为两个独立数据集 D1 D 1 的熵和 D2 D 2 的熵的加权和,即:
其中, |D1| | D 1 | 表示的是数据集 D1 D 1 中的样本的个数, |D2| | D 2 | 表示的是数据集 D2 D 2 中的样本的个数。对于数据样例,将样本按照特征“是否用鳃呼吸”划分成两个独立的子数据集,此时,数据集D的信息熵为:
信息增益
由上述的划分可以看出,在划分后的数据集D的信息熵减小了,对于给定的数据集,划分前后信息熵的减少量称为信息增益(information gain),即:
其中, |Dp| | D p | 表示的是属于第 p p 类的样本个数。信息熵表示的数据集中的不纯度,信息熵较小表明数据集纯度提升了。在选择数据集划分的标准时,通常选择能够使的信息增益最大的划分。ID3决策树算法就是利用信息增益作为划分数据集的一种方法。数据样例中,
信息增益率
增益率(Gain Ratio)是可以作为选择最优划分属性的方法,增益率的计算公式为:
其中, IV(A) I V ( A ) 被称为特征A的固有值,即:
在数据样例中,是否用鳃呼吸作为特征A,其 IV(A) I V ( A ) 为:
信息增益率为:
在著名的C4.5决策树算法中就是利用增益率作为划分数据集的方法。
基尼指数
基尼指数(Gini index)也可以选择最优的划分属性,对于数据集D,假设有K个分类,则样本属于第k个类的概率为 pk p k 则此概率分布的基尼系数为:
对于数据集D,其基尼指数为:
其中, |Ck| | C k | 表示数据集D中,属于类别 k k 的样本的个数。若此时根据特征A将数据集D划分为独立的两个数据集和 D2 D 2 ,此时的基尼指数为:
在数据样例中,数据集D的基尼指数(针对是否为鱼而言):
利用特征“是否用鳃呼吸”将数据集D划分成独立的两个数据集 D1 D 1 和 D2 D 2 后,其基尼指数为: