与之前那两个基于熵的不同,基尼系数采用新的算法来计算数据的不确定度/纯度,基尼系数越小,数据的纯度越高,不确定度越低。我们来看一下基尼系数到底长什么样。
在一个分类问题中,假设有个类别,第
个类别的概率为,则基尼系数为:
对于给定样本D,假设其中有k个类别,切第k个类别的数量为,则样本D的基尼系数为:
具体来说,我们假设某个离散属性的取值为:代表所有样本在属性上
取值为
的样本集合。
那么以属性A对数据集D进行划分,所得到的基尼系数为:
基尼系数越小,则属性集D的纯度越高。
我们还是用西瓜数据集为例,计算一下基尼系数,假设我们以色泽属性进行分割,那么就对应着三个数据子集:
代表青绿色,对应的数据编号为
,共有6个样本,其中正例3个,负例3个。
代表乌黑色,对应的数据编号为
,共有6个样本,其中正例4个,负例2个。
代表浅白色,对应的数据编号为
,共有5个样本,其中正例1个,负例4个。
正例仍代表好瓜与负例仍代表坏瓜。
则按照色泽进行划分之后的到的基尼系数分别为:
则根据属性色泽划分之后的基尼系数为:
