熵并不是衡量数据集类别纯度的唯一度量。在另一种决策树生成算法CART中 [2] ,采用了基尼不纯度(Gini impurity)来度量数据集的纯度。
基尼不纯度衡量了一个随机选中的样本在数据子集中被分错的可能性。当基尼值大时,数据子集的纯度低,样本被分错的可能性大;当基尼值小时,数据子集的纯度高,样本被分错的可能性小。
假设样本落入了某个决策树节点代表的数据子集,在这个子集上,某个类别i的样本所占比例为p i 。那么,样本是类别i的概率就是p i 。真实类别为i的样本落入该节点后,被错误分类为其他类别的概率是(1−p i )。假设有J个不同类别,那么,一个随机样本被错误分类的概率如下:
我们考虑在只有2个类别的情况下,如果正负样本数量参半,那么,Gini值等于1−0.5 2 ×2=0.5。如果数据集中全部为正样本或者全部为负样本,那么,Gini值等于1−1 2 =0。可见,完全纯净的数据集的Gini值为0,而不纯净的数据集的Gini值会趋向于1。因此,Gini值是不纯度的度量。当选择决策树的节点划分时,我们选择使得Gini值极小化的划分。