决策树(二)属性选择度量之基尼系数详细讲解

在上篇文章中,已经介绍了属性选择度量的信息增益,接下来本篇文章将介绍最后一个常用属性选择度量:基尼系数(Gini)。

熵的计算涉及对数运算比较耗时,基尼系数在简化计算的同时还保留了熵的优点。基尼系数代表了模型的不纯度,基尼系数越小,纯度越高,选择该特征进行劈划也越好。这和信息增益(比)正好相反。

假设,用X表示随机变量,随机变量的取值为x1, x2 ,x3... 在n分类问题中便有n个取值,基尼系数的计算公式如下:

其中pi为类别i出现的频率,即类别为i的样本占总样本个数的比率,Σ为求和符号,即对所有的pi^2进行求和。

当引入某个用于分类的变量A,假设属性A有m个不同的值,则变量A划分后的基尼系数的计算公式为:

gini(Xi)为按属性A分划后的各子集的基尼系数,|X|为总样本个数,| Xi|为划分后的各类的样本量。

☀公式很复杂,这是什么意思呢?接下来,咱们把看起来高级的问题"低级化",解释一下gini(X)这个公式。

(1)基尼系数的目的是衡量不平等程度。当我们求pi^2并求和时,这个操作实际上是在给占比大的部分赋予更大的权重。

**例如:**在两个人分东西的例子中,A 占 90%,B 占 10%。当我们计算

时,占比大的 A(0.9)的平方 0.81 远大于占比小的 B(0.1)的平方 0.01。gini(x)=1-0.82=0.18

这种权重分配方式使得基尼系数在衡量不平等时,更侧重于占比大的部分对整体不平等的贡献。在一个社会或群体的资源分配中,占比大的部分的集中程度对整体的不平等感知有更大的影响。

相关推荐
power 雀儿2 小时前
掩码(Mask)机制 结合 多头自注意力函数
算法
会叫的恐龙2 小时前
C++ 核心知识点汇总(第六日)(字符串)
c++·算法·字符串
小糯米6012 小时前
C++顺序表和vector
开发语言·c++·算法
We་ct3 小时前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析
前端·算法·leetcode·typescript
Lionel6893 小时前
分步实现 Flutter 鸿蒙轮播图核心功能(搜索框 + 指示灯)
算法·图搜索算法
小妖6663 小时前
js 实现快速排序算法
数据结构·算法·排序算法
xsyaaaan3 小时前
代码随想录Day30动态规划:背包问题二维_背包问题一维_416分割等和子集
算法·动态规划
木非哲3 小时前
机器学习--随机森林--从一棵树的直觉到一片林的哲学
人工智能·随机森林·机器学习
zheyutao4 小时前
字符串哈希
算法
A尘埃4 小时前
保险公司车险理赔欺诈检测(随机森林)
算法·随机森林·机器学习