树模型并不只局限于分类场合,而是可用于解决绝大多数机器学习问题,包括排序、概率估计、回归及聚类。

基本的决策树生成算法是一个贪心算法,采用自上而下、分而治之的递归方式来构造。

决策树

决策树算法3要素:

  • 特征选择:信息增益,信息增益率,基尼指数(Gini)
  • 决策树生成
  • 决策树剪枝

特征选择

特征选择目的:使用某特征对数据集划分之后,各数据子集的纯度要比划分前的数据集D的纯度高(不确定性要比划分前数据集D的不确定性低。)

常见的决策树算法有以下四种:CLS、ID3(信息增益)、C4.5(信息增益率)、CART(基尼指数)

在介绍各种决策树算法之前,先介绍一下熵的概念:

熵:度量随机变量的不确定性。(纯度)

对于样本集合D来说,C是样本的类别,即,假设样本有k个类别,每个类别的概率是,其中|Ck|表示类别k的样本个数,|D|表示样本总数则对于样本集合D来说熵(经验熵)为:

CLS:

CLS算法,是最早期的决策树算法,它有很多缺点,这里就不介绍了,后面3种算法是依据CLS改进的。

ID3:

ID3算法的特征选择需要用信息增益,在熵的定义中可知,熵可以表示样本集合的不确定性,熵越大,样本的不确定性就越大。因此可以使用划分前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏。

划分前样本集合D的熵是一定的 ,X(前),使用某个特征A划分数据集D,计算划分后的数据子集的熵 X(后)

信息增益 =  X(前) -  X(后)             

做法:计算使用所有特征划分数据集D,得到多个特征划分数据集D的信息增益,从这些信息增益中选择最大的,因而当前结点的划分特征便是使信息增益最大的划分所使用的特征。

缺点:信息增益偏向取值较多的特征

原因:当特征的取值较多时,根据此特征划分更容易得到纯度更高的子集,因此划分之后的熵更低,由于划分前的熵是一定的,因此信息增益更大,因此信息增益比较 偏向取值较多的特征。

C4.5(改进的ID3):

                          

注意:其中的HA(D),对于样本集合D,将当前特征A作为随机变量(取值是特征A的各个特征值),求得的经验熵。

(之前是把集合类别作为随机变量,现在把某个特征作为随机变量,按照此特征的特征取值对集合D进行划分,计算熵HA(D))

 信息增益比本质: 是在信息增益的基础之上乘上一个惩罚参数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大。

  惩罚参数:数据集D以特征A作为随机变量的熵的倒数,即:将特征A取值相同的样本划分到同一个子集中(之前所说数据集的熵是依据类别进行划分的)

缺点:信息增益比偏向取值较少的特征

原因:  当特征取值较少时HA(D)的值较小,因此其倒数较大,因而信息增益比较大。因而偏向取值较少的特征。

使用信息增益比:基于以上缺点,并不是直接选择信息增益率最大的特征,而是现在候选特征中找出信息增益高于平均水平的特征,然后在这些特征中再选择信息增益率最高的特征。

CART:

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

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

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

基于特征A划分样本集合D之后的基尼指数:

需要说明的是CART是个二叉树,也就是当使用某个特征划分样本集合只有两个集合:1. 等于给定的特征值的样本集合D1 , 2 不等于给定的特征值 的样本集合D2

实际上是对拥有多个取值的特征的二值处理。

举个例子:

假设现在有特征 “学历”,此特征有三个特征取值: “本科”,“硕士”, “博士”,

当使用“学历”这个特征对样本集合D进行划分时,划分值分别有三个,因而有三种划分的可能集合,划分后的子集如下:

  1. 划分点: “本科”,划分后的子集合 : {本科},{硕士,博士}
  2. 划分点: “硕士”,划分后的子集合 : {硕士},{本科,博士}
  3.     划分点: “硕士”,划分后的子集合 : {博士},{本科,硕士}

对于上述的每一种划分,都可以计算出基于 划分特征= 某个特征值 将样本集合D划分为两个子集的纯度:

因而对于一个具有多个取值(超过2个)的特征,需要计算以每一个取值作为划分点,对样本D划分之后子集的纯度Gini(D,Ai),(其中Ai 表示特征A的可能取值)

然后从所有的可能划分的Gini(D,Ai)中找出Gini指数最小的划分,这个划分的划分点,便是使用特征A对样本集合D进行划分的最佳划分点。

参考:https://www.cnblogs.com/muzixi/p/6566803.html

【机器学习】——逻辑模型:树模型(决策树)相关推荐

  1. 一文带你入门机器学习中的树模型(附源码)

    树模型 树模型在机器学习中至关重要,它不仅本身具有较好的性能,也可以用于优化其他的算法. 我们在本节将要介绍优化KNN~KNN~ KNN 算法的树模型以及决策树. 一.KNN~KNN~ KNN 的数据 ...

  2. 算法模型---树相关---决策树

    决策树的特点 决策树的用途 决策树的适用范围 数据类型 特征可以连续和离散 因变量分类时是离散,回归时是连续 算法 支持模型 树结构 特征选择 连续值处理 缺失值处理 剪枝 ID3 分类 多叉树 信息 ...

  3. 机器学习中的树模型下——集成类树

    集成学习 集成学习顾名思义是通过构建并结合集成多个学习器来完成学习任务,有时也被称为多分类系统.集成学习要获得好的结果应做到"好而不同",即个体学习器要有一定的准确性,并且学习器之 ...

  4. 机器学习中树模型算法总结之 决策树(上)

    写在前面 在网上看XGBoost资料的时候觉得自己以前看的树模型算法都忘得差不多了,所以就趁着这个机会把机器学习里的树模型算法重新再过一遍,主要包括决策树.随机森林.提升树.XGBoost等等. 1. ...

  5. 树模型与线性模型的区别 决策树分类和逻辑回归分类的区别 【总结】

    树模型与线性模型的区别在于: (一)树模型 ①树模型产生可视化的分类规则,可以通过图表表达简单直观,逐个特征进行处理,更加接近人的决策方式   ②产生的模型可以抽取规则易于理解,即解释性比线性模型强. ...

  6. 机器学习(六)树模型详解

    树模型详解 决策树 决策树模型 ① 树模型不用做scaling ② 树模型不太需要做离散化 ③ 用Xgboost等工具库,是不需要做缺失值填充 ④ 树模型是非线性模型,有非线性的表达能力 决策树基于& ...

  7. 树模型与线性模型的融合模型(Python实现)

    目录 一.树模型与线性模型的融合模型 二.Python sklearn实现GBDT+LR融合模型 一.树模型与线性模型的融合模型 树模型GBDT原理:https://blog.csdn.net/won ...

  8. 树模型之回归树,模型树,树剪枝

    在前面决策树的介绍中,我们使用ID3算法来构建决策树:这里我们使用CART算法来构建回归树和模型树.ID3算法是每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来区分.比如,如果一个特征有 ...

  9. Task 08(树模型组队总结

    这次的团队学习,我学习到了什么? 理论上的 从基础模型树模型到集成模型Bagging, Boosting和stacking以及blending,学起来感觉特别地舒服.从信息论到树的生成,从信息熵到gi ...

  10. 7. Jackson用树模型处理JSON是必备技能,不信你看

    每棵大树,都曾只是一粒种子.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...

最新文章

  1. Jeff Dean亲自揭秘谷歌下一代AI架构:通用、稀疏且高效
  2. Ex 5_33 实现一个关于公式长度(其中所有文字总的出现次数)为线性时间的Horn公式可满足性问题_第十次作业...
  3. LVQ模型Python实现
  4. rbac权限管理5张表_PHP之常用的RBAC权限管理详解
  5. 计算机英语教程第6版司爱侠,计算机专业英语教程(第3版)宋德福 司爱侠 练习参考答案...
  6. Windows 11 上大招!正式支持安卓!
  7. 【每日一题】7月16日题目精讲—点权和
  8. 牛客14718 开心的涂刷
  9. python设置excel的格式_python 操作Excel 设置格式
  10. 单片机原理及应用C语言实验,《单片机原理及应用》实验指导书.doc
  11. 图片模糊怎么变清晰?用嗨格式图片无损放大器
  12. ARM板更改系统时期和时间
  13. 如何使用WebService服务
  14. 视频网站提取原始地址之二——土豆
  15. 机房消防报警系统及气体灭火防护的设计方法
  16. 【你好,windows】嵌入式win8.1 X86X64企业纯净版安装版2019.6.20
  17. 扫描电镜图片的Matlab分析,基于Matlab的图像增强与复原技术在SEM图像中的应
  18. 计算机组装与拆解中容易混淆的知识点,教资干货 | 教资笔试中易混淆的知识点整合...
  19. PCB设计:Altium Designer如何单独生成PCB坐标文件
  20. Semi-Supervised Deep Learning for Monocular Depth Map Prediction

热门文章

  1. 构成计算机系统物理实体的是什么,什么构成计算机的物理实体
  2. 看待FIL能否成功不应该只关注它的币价,而是IPFS能否完全落地应用……
  3. win10 uwp 如何开始写 uwp 程序
  4. ES-分片路由(routing)
  5. css样式中的vw什么意思,css vw是什么单位
  6. linux qt 找不到 lgl,Linux Qt cannot find -lGL错误完美解决方案(亲测有效)
  7. YOLO输出位置信息
  8. SIP中603/decline中的意义
  9. (极值点偏移问题的几种方案)已知$\dfrac{\ln x_1}{x_1}=\dfrac{\ln x_2}{x_2}$,求证:$x_1+x_22\text{e}$....
  10. 高斯投影法正反算代码MATLAB版本