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

    • 基尼系数 - 图10代表青绿色,对应的数据编号为基尼系数 - 图11,共有6个样本,其中正例3个,负例3个。
    • 基尼系数 - 图12代表乌黑色,对应的数据编号为基尼系数 - 图13 ,共有6个样本,其中正例4个,负例2个。
    • 基尼系数 - 图14代表浅白色,对应的数据编号为基尼系数 - 图15,共有5个样本,其中正例1个,负例4个。

    正例仍代表好瓜与负例仍代表坏瓜。
    则按照色泽进行划分之后的到的基尼系数分别为:
    基尼系数 - 图16
    则根据属性色泽划分之后的基尼系数为:
    基尼系数 - 图17