决策树模型是用于解决分类问题的一个模型,它的特点是简答、逻辑清晰、可解释性好。

决策树是基于“树”结构进行决策的。

每个“内部结点”对应于某个属性上的“测试”;
每个分支对应于该测试的一种可能结果(也就是该属性的某个取值)
每个“叶子结点”对应于一个“预测结果”
决策树的学习过程:通过对训练样本的分析来确定“划分属性”
决策树预测过程:将预测示例从根结点开始,沿着划分属性所构成的“判定测试序列”往下走,直到叶子结点。

决策树停止生长的三种条件

①当前结点包含的样本集全属于同一类别
②当先属性集为空,或者所有样本在所有属性上的取值相同
③当前结点包含的样本集合为空

同时,这里附上周志华老师《机器学习》西瓜书上的决策树执行流程

最佳属性选择方法有3类

①根据信息增益ID3判断
②根据信息增益率C4.5判断
③根据CART基尼指数判断

信息增益ID3

在了解信息增益之前呢,我们先提一个概念叫做信息熵:它表示随机变量不确定性的度量。
计算公式如下:

Pk表示的是当前样本集合D中第k类别的样本占总体样本的比例。
信息增益ID3:信息增益=信息熵-条件熵。信息熵代表的是随机变量的不确定性,条件熵代表在某一个条件下,随机变量的不确定性,而信息增益代表了在一个条件下,信息不确定性减少的程度。计算公式为:

前边的Ent(D)是总样本集合D的信息熵;
后边的Ent(Dv)是某个属性所对应取值的信息熵,所乘的系数为该属性每个取值的样本占总样本集合D的比例。
例如:周志华老师的《机器学习》中的西瓜数据集

该数据集有17个训练样本,其中正例(好瓜)有8个,则P1=8/17,反例(坏瓜)有9个,则P2=9/17。
则样本集D的一个信息熵为:

信息增益:以属性“色泽”为例,它对应的3个数据子集分别为D1(色泽=青绿),D2(色泽=乌黑),D3(色泽=浅白)
D1包含编号为1,4,6,10,13,17的6个样本,其中正例有3个,占P1=3/6,反例有3个,占P2=3/6
D2,D3同理,则属性“色泽”的三个子集的信息熵分别为

那么,属性“色泽”的信息增益为:

同理,其他属性的一个信息增益为:
显然“纹理”的信息增益最大,该属性带来的信息不确定性减少的程度最大,所以选这个属性作为划分属性(信息增益相同时,任选其一)。


然后再对“纹理”属性的三个分支下的每个子集进行如上的划分,最终就会得到一棵决策树(没有剪枝过的决策树)。

信息增益率C4.5

信息增益率是基于信息增益提出来的,因为信息增益在计算的时候,它更偏向于取值过多的某个属性。比如咱们把“编号”也当做是一种属性。那么用它你会得到一棵一层决策树,也就是决策树桩。

所以肯定没有比“编号”属性的信息增益更大的属性了。那么就可以得到一棵这样的决策树(这里用到了决策树停止生长条件1:当前结点包含的样本全属于同一类别C,那么就把该结点标记为C类叶结点)

但是这个决策树是不具备泛化能力的,因为测试样本中没有对应于这些编号的样本。
而信息增益率就是为了避免这种情况设计出来的:

这里呢,我们在计算的时候,先从候选划分属性中找出信息增益高于平均水平的,再从中选取信息增益率最高的,这样会增加我们的计算速度。

基尼指数CART

基尼指数反应了从D中随机抽取两个样例,其类别标记不一样的概率。基尼指数越小,则数据集的纯度越高。
计算公式为:

基尼指数反应的是从数据集 D 中随机抽取两个样本,他们类别不一样的概率,那么也就是说基尼指数越小,类别不一样的概率就越小,相反类别一样的概率就大,那么其数据集的纯度就越高,对应的特征就越好。为啥纯度越高,特征就越好?举个例子,假如说一个选择题,对应的备选答案有以下两种情况,第一种情况该选择题有四个备选答案,每个备选答案正确的概率 1/4,第二种情况该选择题有两个备选答案,每个备选答案正确的概率是 1/2,那么这两种情况,哪一种做对的概率高呢?肯定是第二种吧,因为第二种情况的不确定性是最低的,不确定性低了,那它的纯度是不是就高了,因为第一种情况备选答案正确的概率都是 1/4,第二种情况备选答案正确的概率是 1/2。 而对应于这里特征的话,纯度越高,不确定性越低,相反确定性就越高,确定性越高,是不是就越有利于我们进行判断啊?当我们拿到一个样本的进行测试时候,肯定是希望能够以最短的步骤去完成这个样本类别的划分。

所以这里我们选择基尼指数最小的属性作为我们的划分属性。

举例:以属性“色泽”为例,有3种取值:分别为青绿(编号为1,4,6,10,13,14)正例3个,反例3个;乌黑(2,3,7,8,9,15)正例4个,反例2个;浅白(5,11,12,14,16)正例1个,反例4个;

第一个乘数:6/17代表“青绿”的样本占总样本的比例,而3/6代表色泽=青绿时正例和反例占“青绿”样本的比例。
同理,其它属性计算的基尼指数分别为:

“纹理”基尼指数最小(当基尼指数有多个最小值时,任意取其一),则以属性“纹理”为根结点,完成决策树的第一次生长。

至此,决策树最优属性选择方法介绍完毕。前剪纸、后剪纸以及控制过拟合我会在下一篇文章中介绍,谢谢大家。

机器学习之决策树模型最优属性选择方法相关推荐

  1. 修改Chem 3D模型的化学键属性的方法有哪些

    很多的用户在绘制化学图形过程中发现很多的图形都是立体结构的,这个时候就需要用Chem3D,它是ChemOffice的核心组件之一,在绘制立体模型和计算化学数据方面具有不可替代的作用.虽然ChemDra ...

  2. 【机器学习】算法模型自动超参数优化方法

    什么是超参数? 学习器模型中一般有两类参数,一类是可以从数据中学习估计得到,我们称为参数(Parameter).还有一类参数时无法从数据中估计,只能靠人的经验进行设计指定,我们称为超参数(Hyper ...

  3. 【机器学习】决策树模型详解

    现在工业和竞赛上比较流行的模型大都是集成学习模型, 如LGB, XGB, 这些模型的本质是若干个决策树组成的, 虽然单纯决策树本身的使用不是特别广泛, 但是从本质上理解这个基础模型, 能更好地理解集成 ...

  4. 机器学习知识点:模型加权集成7种方法

    在竞赛中如果对多个预测结果进行集成,最方便的做法是直接对预测结果进行加权求和.此时不同任务,加权方法不同: 分类任务:类别投票 & 概率值加权 回归任务:预测值加权 排序任务:排序次序加权 目 ...

  5. 【数据挖掘】决策树算法简介 ( 决策树模型 | 模型示例 | 决策树算法性能要求 | 递归创建决策树 | 树根属性选择 )

    文章目录 I . 决策树模型 II . 决策树模型 示例 III . 决策树算法列举 IV . 决策树算法 示例 V . 决策树算法性能要求 VI . 决策树模型创建 ( 递归创建决策树 ) VII ...

  6. 图解机器学习算法(6) | 决策树模型详解(机器学习通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/34 本文地址:https://www.showmeai.tech/article-d ...

  7. 机器学习_决策树_ID3算法_C4.5算法_CART算法及各个算法Python实现

    下面的有些叙述基于我个人理解, 可能与专业书籍描述不同, 但是最终都是表达同一个意思, 如果有不同意见的小伙伴, 请在评论区留言, 我不胜感激. 参考: 周志华-机器学习 https://blog.c ...

  8. 机器学习算法-决策树理论

    用较少的东西,同样可以做好的事情.越是小的决策树,越优于大的决策树. 引文 数据分类是一个两阶段过程,包括学习阶段(构建分类模型)和分类阶段(使用模型预测给定数据的类标号).决策树分类算法是监督学习的 ...

  9. 如何修改3D模型的原子属性

    Chem3D是专门用于绘制化学三维模型和进行计算化学数据的ChemOffice组件,在三维模型中每个原子都有众多属性,比如原子类型.原子符号.原子编号以及原子颜色等等.掌握Chem 3D模型的原子属性 ...

最新文章

  1. 搭建WSS 开发测试环境
  2. SSE eventSource简介
  3. man thread_join
  4. 《信息学奥赛一本通》 高精度加法。输入两个正整数,求它们的和。
  5. [Linux]结合awk删除hdfs指定日期前的数据
  6. hadoop HA启动时 两个namenode节点都是standby,解决办法
  7. C#中DateTime的缺陷与代替品DateTimeOffset
  8. [JMX一步步来] 9、基于JBoss来写MBean
  9. oracle EXP-00028
  10. 仍有很多企业并未修复微软 Hyber-V 的严重漏洞
  11. Unicode字符需要几个字节来存储?
  12. openwrt: ipq4019 路由 资料汇总
  13. layui参考文档地址
  14. queryDsl引入Mysql内置函数示例
  15. 熊猫学猿--sql查询
  16. 有人对你说辛苦了要怎么回复
  17. 【第十三届蓝桥杯C++ B组省赛编程题详解】
  18. CRC循环冗余校验是如何纠错的
  19. 4kw机柜无通道封闭CFD模拟分析及优化(上篇) -孙长青
  20. 数据分析sql面试必会6题经典_数据分析师SQL面试必备50题

热门文章

  1. SketchUp模型组件【北欧洗手台模型】
  2. linux7系统改成中文,centos7修改系统语言为简体中文
  3. 生化-离子转换单位以及一些特殊计算方法
  4. misc life 未来的购物方式
  5. CSS中大于号[]的含义
  6. 80端口被占用的几种情况及解决方法
  7. iPhone4 解决 FolderEnhancer 过期 安全模式 的问题
  8. 制作最简化的Win XP安装盘(nLite)
  9. linux 7 bond0,Centos 7 配置多网卡bond0 及网桥br0
  10. centos 7.9中使用netstat工具