定义:基尼指数(基尼不纯度):表示在样本集合中一个随机选中的样本被分错的概率。

    注意: Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。

即 基尼指数(基尼不纯度)= 样本被选中的概率 * 样本被分错的概率

基尼系数的性质与信息熵一样:度量随机变量的不确定度的大小;
G 越大,数据的不确定性越高;
G 越小,数据的不确定性越低;
G = 0,数据集中的所有样本都是同一类别;

代码

def cal_gini_index(data, label_len):''':param data: (list)数据集:param label_len:  (int)数据集中每一行的标签数:return: gini (float)Gini指数'''total_asmple = len(data)if len(data) == 0:return 0for a in range(label_len):label_counts = label_uniq_cnt(data,a)  # 统计数据集中不同标签的个数print(label_counts)# 计算数据集的Gini指数gini = 0for label in label_counts:gini = gini + pow(label_counts[label], 2)gini = 1 - float(gini) / pow(total_asmple, 2)print(gini)def label_uniq_cnt(data,a):'''统计数据集中不同标签的个数:param data: (list)原始数据:param a: 每一种标签的下标号:return: label_uniq_cnts(int)样本中的标签的个数,统计的是每一种类各个取值的数量,把每一个种类的各种取值的数量放在字典中存储返回'''label_uniq_cnts = {}for x in data:label = x[a]  # 取得每一个样本的类标签label#print(label)if label not in label_uniq_cnts:label_uniq_cnts[label] = 0label_uniq_cnts[label] += 1return label_uniq_cntsif __name__ == '__main__':data = [('用', '有', '是'), ('用', '有', '是'), ('用', '无', '否'), ('不用', '有', '否'), ('不用', '有', '否')]cal_gini_index(data,len(data[0]))

结果

{'用': 3, '不用': 2}
0.48
{'有': 4, '无': 1}
0.31999999999999995
{'是': 2, '否': 3}
0.48

这样得到某一行数据被随机分配到错误结果的总概率。这一概率越高,说明对数据的拆分越不合理。

机器学习——基尼指数相关推荐

  1. 【机器学习】采用信息增益、信息增益率、基尼指数来建造决策树。

    目录 一.创建数据集 二.构造决策树(诊断是否复发乳腺癌) 1.信息增益生成决策树 (ID3算法) 信息熵 信息增益(ID3算法) 2.信息增益率决策树(C4.5) 3.基尼指数(CART算法 - 分 ...

  2. 机器学习与scikit-learn-13]:算法 - 分类的本质与样本分布的离散程度的指标:纯度、信息熵、 基尼指数.

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址: 目录 第1章 分类问题的本质 1.1 多特征样本的本质 1.2 分类的本质 第2章  纯度(pu ...

  3. 基尼指数——基尼系数是指国际上通用的、用以衡量一个国家或地区居民收入差距的常用指标。基尼系数介于0-1之间,基尼系数越大,表示不平等程度越高。...

    基尼系数是指国际上通用的.用以衡量一个国家或地区居民收入差距的常用指标.基尼系数介于0-1之间,基尼系数越大,表示不平等程度越高. 收入基尼系数 其具体含义是指,在全部居民收入中,用于进行不平均分配的 ...

  4. 决策树(信息熵、增益率、基尼指数)

    目录 前言 一.决策树是什么? 二.实验过程 1.选择数据集中各个决策属性的优先级 1.1信息熵 1.2增益率 1.3基尼指数 2.决策树的构造 2.1创建决策树: 2.2准备数据: 2.3.读取和保 ...

  5. AI基础:信息熵、信息增益、信息增益率、基尼指数

    给实习生聊到决策树.GBDT,有几个概念这里再用易懂的方式解释下 文章目录 信息熵 条件熵 信息增益 信息增益率 基尼指数 信息熵是决策树的基础 信息增益-ID3算法构建决策树 信息增益率-C4.5算 ...

  6. 决策树信息增益|信息增益比率|基尼指数实例

    今天以周志华老师的西瓜为例,复盘一下三种决策树算法. 文章目录 信息增益(ID3算法) 信息增益比率(C4.5算法) 基尼指数(CART算法) 数据: 信息增益(ID3算法) 信息熵表示信息的混乱程度 ...

  7. 决策树之基尼指数理解

    基尼指数和信息熵都是用来描述系统混乱度的量  数学形式不一样,干的事是一样的 不纯度(impurity)--GINI系数:(不纯度就是混乱度) 公式 例子(与信息熵干的是一件事) 决策树模型理解 二. ...

  8. 熵(Entropy)、信息熵增益、信息熵增率和基尼(Gini)指数

    文章中的这些概念为衡量特征(属性)选择的方法,特征选择在于选取对训练数据具有分类能力的特征,提高决策树学习的效率,特征选择是决定用哪个特征来划分特征空间. 文章目录 信息熵(information e ...

  9. 机器学习:信息熵,基尼系数,条件熵,条件基尼系数,信息增益,信息增益比,基尼增益,决策树代码实现(一)

    文章目录 初始化,涉及到使用的变量: 信息熵 定义公式,经验公式 代码: 基尼系数 定义公式,经验公式 代码: 条件熵,条件基尼系数 条件熵定义公式,经验公式 条件基尼系数定义公式,经验公式 代码: ...

最新文章

  1. XHTML行内描述性元素(持续更新中)
  2. 编程3:仅用递归函数和栈操作逆序一个栈
  3. Java—JVM加载机制
  4. 分部方法 partial
  5. c语言 单词变复数_一些复数运算的C语言实现
  6. mongodb更新操作
  7. i3wm nm-applet每次开机都要输入wifi密码的解决办法
  8. SuiteCRM图片上传(自定义控制器)
  9. 001电机的分类:不骗你,如果你没读这篇文章,可能都不知道还有这种类型的电机!
  10. 如何使android应用开机时自动启动,如何使APP开机自启动
  11. 下载Eclipse压缩包
  12. URL编码 | quoted-printable编码
  13. Pytho : 算法-选择排序
  14. ffmpeg将mp4转为m4a,m4a转mp3,mp3转ogg
  15. .NET基础加强笔记
  16. zbb20180921 spring事物的七种事物传播属性行为及五种隔离级别
  17. 个人信息规范名称和收集规则参考
  18. “笨办法”学Python3--习题43 基本的面向对象的分析和设计
  19. Java iText5.5.1 绘制PDF表格
  20. 网络安全-防火墙双机热备-ensp练习

热门文章

  1. 在VMware Workstation 15 Pro 上的安装ACS5.2
  2. SpringBoot配置Mybatis打印SQL
  3. indexes与indices区别
  4. English Learning - L3 综合练习 2 VOA-Color 2023.05.10 周三
  5. linux 内核 遍历文件夹,Linux内核中通过文件描述符获取绝对路径
  6. bootstrap图标的使用
  7. 工作中出现问题及最终解决办法
  8. 联邦学习(电子工业出版社)——读书笔记(1)
  9. 基于SSM花卉商城设计与实现
  10. 使用ivx制作快闪倒计时的经验总结