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

在上篇文章中,已经介绍了属性选择度量的信息增益,接下来本篇文章将介绍最后一个常用属性选择度量:基尼系数(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

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

相关推荐
Dream it possible!6 小时前
LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)
算法·leetcode·面试·动态规划
心抵鹊6 小时前
算法之双指针系列(一)
算法·leetcode
十二6 小时前
【洛谷题解】P1083 [NOIP 2012 提高组] 借教室(二分答案 + 差分)
数据结构·c++·算法·蓝桥杯
小此方7 小时前
[算法实战论:动态规划]回文串问题的dp解法,回文串问题的母题,以及以此为基础的派生题
算法·动态规划
在所不辞兄7 小时前
为什么学习率预热(warmup)能显著改善Transformer等大模型的训练稳定性?
人工智能·深度学习·神经网络·机器学习·智能仿真
Pniubi8 小时前
力扣560.和为k的子数组
算法·leetcode·职场和发展
D e re k ZH8 小时前
C++ 从零入门(一):基础语法与程序结构
数据结构·c++·算法
Pniubi9 小时前
力扣438.找到字符串中所有字母异位词
算法·leetcode·职场和发展
武天旭10 小时前
AI安全--AI大模型的隐私保护解析
人工智能·深度学习·安全·机器学习
aifannihao10 小时前
AI 学习第 5 课:手推逻辑回归与交叉熵,L2 把可分数据的权重按住
人工智能·机器学习·逻辑回归·numpy·学习路线