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

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

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

相关推荐
FMRbpm3 分钟前
树的练习6--------938.二叉搜索树的范围和
数据结构·c++·算法·leetcode·职场和发展·新手入门
wubba lubba dub dub75014 分钟前
第三十三周 学习周报
学习·算法·机器学习
C+-C资深大佬21 分钟前
C++数据类型
开发语言·c++·算法
多米Domi01137 分钟前
0x3f 第35天 电脑硬盘坏了 +二叉树直径,将有序数组转换为二叉搜索树
java·数据结构·python·算法·leetcode·链表
想逃离铁厂的老铁44 分钟前
Day45 >> 115、不同的子序列 + 583. 两个字符串的删除操作 + 72. 编辑距离
算法·leetcode
猫天意1 小时前
【深度学习小课堂】| torch | 升维打击还是原位拼接?深度解码 PyTorch 中 stack 与 cat 的几何奥义
开发语言·人工智能·pytorch·深度学习·神经网络·yolo·机器学习
cyyt1 小时前
深度学习周报(1.12~1.18)
人工智能·算法·机器学习
范纹杉想快点毕业1 小时前
C语言核心机制全解:内存、地址、数组与指针,共计30000字
算法
Σίσυφος19001 小时前
RANSAC算法原理与应用
算法
我星期八休息2 小时前
MySQL数据可视化实战指南
数据库·人工智能·mysql·算法·信息可视化