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

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

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

相关推荐
天上的光20 分钟前
17.迁移学习
人工智能·机器学习·迁移学习
Xの哲學31 分钟前
Perf使用详解
linux·网络·网络协议·算法·架构
想不明白的过度思考者41 分钟前
数据结构(排序篇)——七大排序算法奇幻之旅:从扑克牌到百亿数据的魔法整理术
数据结构·算法·排序算法
小七rrrrr1 小时前
动态规划法 - 53. 最大子数组和
java·算法·动态规划
code小毛孩1 小时前
leetcodehot100 矩阵置零
算法
何妨重温wdys1 小时前
矩阵链相乘的最少乘法次数(动态规划解法)
c++·算法·矩阵·动态规划
数据智能老司机1 小时前
面向企业的图学习扩展——图简介
人工智能·机器学习·ai编程
姜不吃葱1 小时前
【力扣热题100】双指针—— 接雨水
数据结构·算法·leetcode·力扣热题100
PineappleCoder1 小时前
大小写 + 标点全搞定!JS 如何精准统计单词频率?
前端·javascript·算法
tanyongxi662 小时前
C++ 特殊类设计与单例模式解析
java·开发语言·数据结构·c++·算法·单例模式