第一、什么是决策树?

简单来说就是用于解决分类问题的算法。

第二、什么是基尼指数?

是用于划分属性纯度的一个工具(基尼指数越小,则纯度越高说明该属性越优)

公式如下

对于各种不同的属性来计它的基尼指数,然后来创建一棵决策树。

例如label=0 和 label=1 都是5份的时候,每份的概率是0.5 使用基尼指数公式计算后,算出该属性的基尼指数为0.5

同理可得后面的两个例子,Gini=0.32 和0 。从这三个样本中看,我们可以观察出这个属性的纯度是越来越高的过程,而我们就是要使用基尼指数去判别某一个属性的纯度,或者说Gini值的大小,选择其为区分的属性节点。

例如此表中有各种各样的属性,最后又一个判定标签即是否拖欠贷款。

我们应该先分析有房者,婚姻,年收入三个属性哪一个更优一点,然后来判断谁可以来充当根节点。

那我们就来,从年收入开始用基尼指数来建立一棵决策树,label的值为是否拖欠贷款

第一选择有房者这个属性,按照是否有房分为两类并记下其数量如图 有房的有3人,没有房的有7人,然后根据标签值分为四类人

有房拖欠贷款的0人,有房不拖欠贷款的3人,无房拖欠贷款的3人,无房不拖欠贷款的4人。分别计算有房者的基尼指数为0和无房者的基尼指数为24/49。最后进行加权平均如上图所示,可以得到有房这个属性的Gini加权值为12/35。

同理我们可以得到婚姻的Gini加权值为3/10,年收入的加权值为12/35。由于婚姻的Gini指数最低,或者说婚姻这个属性更纯,所以我们选择婚姻这个属性来当作根节点。

根据已婚 和(单身/离异)这两个条件分析它们label值,在已婚这边我们可以看到,四个人的标签均为否,所以可以直接把它的标签标记为否,剩下的6条数据继续进行基尼指数的计算来划分出一个更纯的属性。计算结果如下,计算过程与上面同理。

故有房成为第二个选择的属性节点。因为已经只剩下了一个属性,所以它成为了第三个属性节点,我们最终构建的决策树如下:

如果此时有了新的数据到来,我们就可以直接按照这棵决策树的判断条件,一直判断直到可以知道它的label值为是或者否为止。

决策树———用基尼系数建立决策树相关推荐

  1. 决策树(Decision Tree)、决策树的构建、决策树流程、树的生长、熵、信息增益比、基尼系数

    决策树(Decision Tree).决策树的构建.决策树流程.树的生长.熵.信息增益比.基尼系数 目录

  2. R语言建立决策树模型(movie数据集)

    导入数据集 将movie.MPAA.competition.star.genre.TechEffect按字符型读入其他变量按数值型读入 learn<- read.csv("E:\\RH ...

  3. R语言(把银行已认购定期存款的客户原始数据建立决策树模型,从而预测新一批客户是否会认购定期存款)

    原始数据:bank 输入变量: #银行客户资料: 1-年龄(数字) 2-工作:工作类型(分类:"管理","未知","失业","管理 ...

  4. (预测贷款用户是否会逾期)支持向量机和决策树的模型建立

    (预测贷款用户是否会逾期)支持向量机和决策树的模型建立 数据是金融数据,我们要做的是预测贷款用户是否会逾期,表格中,status是标签:0表示未逾期,1表示逾期.[今天的任务]构建支持向量机和决策树模 ...

  5. 基尼系数 java_决策树的基尼系数计算过程

    决策树的基尼系数计算过程 1.基尼指数的计算 在介绍具体的计算之前,先从一个例子入手吧. 先看看下面这个数据,我们需要通过前三列的特征来推断出最后一列是yes,no 1.数据 Chest Pain G ...

  6. 决策树的基尼系数计算过程

    决策树的基尼系数计算过程 1.基尼指数的计算 在介绍具体的计算之前,先从一个例子入手吧. 先看看下面这个数据,我们需要通过前三列的特征来推断出最后一列是yes,no 1.数据 Chest Pain G ...

  7. 12_信息熵,信息熵公式,信息增益,决策树、常见决策树使用的算法、决策树的流程、决策树API、决策树案例、随机森林、随机森林的构建过程、随机森林API、随机森林的优缺点、随机森林案例

    1 信息熵 以下来自:https://www.zhihu.com/question/22178202/answer/161732605 1.2 信息熵的公式 先抛出信息熵公式如下: 1.2 信息熵 信 ...

  8. python决策树 value_直播案例 | 决策树、随机森林和 AdaBoost 的 Python 实现

    获取案例链接.直播课件.数据集在本公众号内发送"机器学习". 本案例使用 Python 逐步实现了三种基于树的模型:分类回归决策树(CART).随机森林和 AdaBoost .在实 ...

  9. 数据挖掘决策树python_机器学习之决策树ID3(python实现)

    机器学习中,决策树是一个预测模型:代表对象属性和对象值之间的一种映射关系.树中每个节点表示某个对象,而每个分叉表示某个可能的属性,每个叶子节点则对应从根节点到该叶子节点所经历的路径所表示的对象的值.决 ...

  10. 超级简单易懂的决策树介绍:什么是决策树,如何构建决策树

    这个笔记是根据我看这个视频来记的:https://www.youtube.com/watch?v=7VeUPuFGJHk&t=0s&list=PLyeGvkJQKy7nDT5kH9S9 ...

最新文章

  1. Java 批量文件不打包下载_【Java】Java批量文件打包下载zip
  2. format控制输出 python_【Python】之format奇技淫巧的输出控制
  3. qualcomm memory dump 抓取方法
  4. 九度 1545:奇怪的连通图
  5. JavaFX UI控件教程(七)之Checkbox
  6. mysql性能调优之配置优化_MySQL优化必须调整的10项配置
  7. DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比
  8. java压缩源代码_【免费毕设】JAVA文件压缩与解压缩实践(源代码+论文)
  9. 什么是冬至?冬至的由来?
  10. Android Stuido插件
  11. day10--Matplotlib--条形图与散点图
  12. 使用el-tree-transfer不显示label的坑
  13. Ubuntu16.04 安装 卸载 pip
  14. STM32F4+ESP8266拟辉光钟设计(二)WS2812灯光控制
  15. JavaScript:实现Comb sort梳排序算法(附完整源码)
  16. pythonround18.67 1,Python语句 print(pow(-3,2), round(18.67,1), round(...
  17. Java回炉之语言基础
  18. 如何启动屏幕保护程序
  19. 基于python的鲜花商城
  20. 网页重复度检测——shingling算法

热门文章

  1. 使用selenium模拟登陆163邮箱
  2. matlab基于技术的磨皮,美颜磨皮SDK中关于磨皮算法的大致实现流程
  3. pandas最快入门(一)-读取与数据结构
  4. Visual Studio 2022安装时Visual Studio Installer稍等片刻...正在提取文件 进度条不动 0B每秒-已解决
  5. 省钱又省时间的买书方法
  6. OpenLayers按像素距离平移地图
  7. redis-trib.rb操作命令
  8. seo站长,必备批量工具
  9. 世界一流学科排名计算机科学,2019上海软科世界一流学科排名计算机科学与工程专业排名哥伦比亚大学排名第22...
  10. CalBioreagents 绵羊抗α-2-HS糖蛋白 亲和纯化说明