决策树中的基尼指数(Gini Index)详解 ------ 从公式理解到实际应用
在构建决策树模型时,一个核心问题是:如何选择最优的特征来进行节点划分?
这就涉及到了"划分准则"的问题。常见的准则有信息增益、信息增益率以及本文的主角:基尼指数(Gini Index)。
在这篇文章中,我们将借助一张手绘风图解,深入浅出地理解基尼指数的含义、公式构成、应用场景及其在构建决策树过程中的作用。
一、什么是基尼指数?
基尼指数(Gini Index)是一种用于衡量一个数据集合"纯度"的指标,主要用于分类问题中的决策树构建,尤其是 CART(Classification and Regression Tree)算法。
通俗理解:
基尼指数越小,说明这个集合中样本类别越"集中",即越"纯";反之,值越大,说明类别混杂,纯度低。
二、基尼指数的数学定义
参考图中的公式:

公式如下:
各符号说明如下:
-
G:某个节点的基尼指数
-
K:类别的总数(比如二分类问题中 K = 2)
-
:在第 m 个节点中,属于第 k 类的样本比例
举例说明:
假设我们有一个节点,其中 70% 是正类(positive),30% 是负类(negative),那么:
G = 0.7(1-0.7) + 0.3(1-0.3) = 0.21 + 0.21 = 0.42
如果节点中全部为正类,即 ,那么:
G = 1(1 - 1) = 0
也就是说,这个节点是完全纯的(只含一个类别),基尼指数为 0。
三、基尼指数的直觉理解
图中给出了简洁直观的解释:
G 的值越小,节点中的分布就越平均(即越纯)
G 的值越大,说明分布越分散(即越杂乱)
这是决策树在每一个节点要选择分裂的依据:选择使得 G 值最小的特征和分裂方式,从而得到更"纯"的子集。
四、基尼指数的应用场景
-
在 CART 决策树中,基尼指数是默认的分裂指标。
-
对于分类任务,尤其是二分类问题,基尼指数表现良好,计算速度快。
-
相比信息增益(用于 ID3),它对多分类特征不太偏倚,因此广泛应用。
五、与其他指标的对比
指标 | 定义方式 | 偏好特性 | 应用模型 |
---|---|---|---|
信息增益 | 熵的减少 | 偏向类别多的特征 | ID3 |
增益率 | 信息增益/特征熵 | 对类别数较多的惩罚 | C4.5 |
基尼指数 | p(1-p) | 偏向二元分裂,计算快速 | CART 分类树 |
六、图解亮点总结
图中总结如下重点:
-
每个节点使用基尼指数,决定最佳的划分特征;
-
公式中每一项代表某一类别的"混乱度";
-
基尼指数是衡量随机方法中分类纯度的一种工具。
七、总结与建议
-
什么时候用基尼指数?
当你使用的是 CART 决策树时,或者在意分类速度、效率优先时。
-
为什么选择基尼指数?
相比熵的计算(涉及对数),Gini 指数更易实现、速度更快,且在许多实际场景下效果相当。
-
下一步建议:
-
实现一个基于 Gini 指数的二分类决策树;
-
用 sklearn 决策树时,设置
criterion='gini'
来启用它。
-
参考资料
-
Chris Albon 的手绘教程;
-
《统计学习方法》第九章;
-
sklearn 官方文档。
如果你觉得这篇文章对你有帮助,欢迎点赞 + 收藏 + 关注!后续我会继续发布更多图解机器学习的内容!