决策树系列,涉及很好算法,接下来的几天内,我会逐步讲解决策树系列算法

1、基本概念

首先我们理解什么是熵:熵的概念最早源于物理学,用于度量一个热力学系统的无序程度。在信息论里面,信息熵是衡量信息量的大小,也就是对随机变量不确定度的一个衡量。不确定性越大,熵越大;

假设随机事件发生的概率为P(x),则随机事件的自信息量为:

熵的计算公式就是自信息量的期望:

假定当前样本集合中第x类样本所有占比例为p(x);上面和下面的p(x)就是类别x的个数 除以样本集总个数。

信息增益:熵的减少。简单的说,就是由于使用这个属性分割样例,导致信息熵的降低。而一个特征的信息增益,就是系统根据这个特征分类前后,信息熵的差值。

信息增益率:就是信息增益,除以 分裂信息度量

注意:其中的HA(D),对于样本集合D,将当前特征A作为随机变量(取值是特征A的各个特征值),求得的经验熵。D(i) 就是 分裂后小样本集的个数。(之前是把集合类别作为随机变量,现在把某个特征作为随机变量,按照此特征的特征取值对集合D进行划分,计算熵HA(D))

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

基尼指数(基尼不纯度):表示在样本集合中一个随机选中的样本被分错的概率。注意: Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。
基尼指数(基尼不纯度)= 样本被选中的概率 * 样本被分错的概率书中公式:

Pk表示第k个类别占所有样本数量的比例

eg: 假设有14个样本,按a 属性可分为 10个 和 4个集合

则:gini(D) = 10/14 * gini(D1) + 4/14 * gini(D2)

gini(D1) = 1 - (7/10)(7/10) - (3/10)(3/10) //D1中,有7个样本属于一类,另外3个属于一类

gini(D2) = 1 - (2/4)(2/4) - (2/4)(2/4) //D2中,有2个样本属于一类,另外2个属于一类

其实pk 代表的就是类别的概率

基尼指数,其实和熵类似

1.1 决策树的损失函数

t是树的叶节点,Nt表示该叶节点的样本数量,Ht(T)表示结点t上的经验熵,所以右边第一项相当于对决策树的所有叶节点求熵,并以每个叶节点包含的样本数量为权重。又因为熵的含义为随机变量不确定性的度量,所以右边第一项的计算意义为模型对训练集的预测误差

那么右边第二项又是什么含义,T表示树的叶节点个数,即表示树的复杂度,a为参数,相当于a越大,叶节点的个数对损失函数的影响越大,剪枝之后的决策树更容易选择复杂度较小的树,a越小,表示叶节点的个数对损失函数的影响越小,所以a的大小控制了预测误差与树的复杂度对剪枝的影响
所以当a确定时,损失函数最小的子树越大,表明与训练数据的拟合越好,但是树也越复杂,子树越小,与训练数据的拟合越差,但树的复杂度较小,避免了过拟合,提高决策树的一般性,损失函数正好表示了对两者的平衡

2、决策树

    决策树一个重要的任务就是为了数据中所蕴含的知识信息。因此,决策树可以使用不熟悉的数据集合
并从中提取出一系列的规则,机器根据数据集创建规则时,就是机器学习的过程。

优点:计算复杂度不高,输出结果易于理解,对中间缺失值不敏感,可以处理不相关特征数据。

缺点:会产生过拟合

适用数据类型:数值型,标称型(真假 0 1 )

决策树分类过程:在构造决策树的时候,我们需要选择那个特征进行划分数据集。选择完知乎,原始数据集会分布在第一个决策点的所有分支熵,如果某个分支下数据类型不相同,则需要重复划分数据集的过程

3、决策树--ID3

ID3决策树,在选择特征的时候,采用信息增益的方法。我们可以计算每个特征值划分数据集获得的信息增益,获得信息增益高的特征,就是最好的选择。

优缺点:

  1. ID3选用信息增益进行特征选择
  2. 第一个缺点是,由于信息增益的计算公式,ID3会偏向选择子类别多的特征
  3. 第二个缺点是,ID3无法处理连续型变量

4、决策树--C4.5

优缺点:

  1. C4.5是ID3的改进,采用信息增益率进行特征选择。减轻了ID3偏向原则特征值多的特征。
  2. 为了处理连续值,C4.5采用单点离散化的思想,用信息增益率来进行连续值特征的属性值选择。
  3. 第一个缺点是C4.5时间耗费大,看连续值处理那块可以看出
  4. 第二个缺点是C4.5没解决回归问题

C4.5决策树,相对于ID3有以下改进:(1)适用信息增益率,来选择属性,克服了信息增益倾向于选择值多的不足;(2)在树的构造过程中进行剪支,(3)能够对连续属性进行离散化处理,(4)能够处理不完整数据

C4.5算法的优点:产生的分类规则,易于理解,准确性高。缺点时在构造树的过程中,需要对数据集进行多次顺序扫描和排序,因而导致算法低效。此外,C4.5只适用于能够驻留内存的数据集。

另外,ID3,C4.5都只适用在小数据集,当属性值多的时候,最好选择C4.5

C4.5是如何计算连续值属性的信息增益的?

假设A特征是连续的,而不是离散的(比如年龄,收入);首先把A的值按照递增排序,典型的,没对相邻值得中心点,被看做可能得分裂点,这样给定得A得v个值,就用v-1 个可能得分化,应为可以有v-1个分类点 ai +a(i+1) / 2

5、决策树--CART(Classfication And Regression Tree 分类回归树)

CART算法采用二分递归分割的技术将当前样本集分为两个子样本集,使得生成的每个非叶子节点都有两个分支(CART是二叉树)。非叶子节点的特征取值为TrueFalse,左分支取值为True,右分支取值为False,因此CART算法生成的决策树是结构简洁的二叉树。CART可以处理连续型变量和离散型变量,利用训练数据递归的划分特征空间进行建树,用验证数据进行剪枝。

CART--分类树,用基尼系数(最小)选择划分的特征和分裂点。

CART--回归树,用平方误差的总值(最小),选择划分的特征和分列点。平方误差总值:

样本为 j ,s划分为A ,B 两部分,c1 c2是这这两部分的均值,y是样本值

  • 如果待预测分类是离散型数据,则CART生成分类决策树。
  • 如果待预测分类是连续性数据,则CART生成回归决策树。

剪枝是降低过拟合得方法之一,有前剪枝 和后剪枝;前剪枝,时间短,降低了过拟合得风险,但是也增加了欠拟合得风险。后剪枝,时间长,欠拟合风险小,泛化性能高。

CART分类树:对于属性A,分别计算任意属性值将数据集划分为两部分之后的Gain_Gini,选取其中的最小值,作为属性A得到的最优二分方案。然后对于训练集S,计算所有属性的最优二分方案,选取其中的最小值,作为样本及S的最优二分方案。分类树和上面讲到的C4.5类似。

CART回归树:回归树的建立过程和分类树不一样,采用最小化平方误差,作为分类标准:

预测值为,类别平均值。

优点:(1)可以解决回归问题,(2)能处理连续型数据 (3)可解释型强

缺点:和C4.5一样,耗时;回归的时候采用的是 均值。

大电鳗:集成学习终篇:从CART回归树开始,经历BDT、GBDT彻底理解XGBoost​zhuanlan.zhihu.com

谓之小一:机器学习之分类与回归树(CART)​zhuanlan.zhihu.com

上面的例子中,在介绍CART回归树的时候,介绍成了GBDT,使用了残差。第一步是对的,如果继续往下的划分,采用第一步的方法就是CART,采用残差就是GBDT;

可以参考:

谓之小一:机器学习之分类与回归树(CART)​zhuanlan.zhihu.com

决策树--信息增益,信息增益比,Geni指数的理解_Python_Tomcater321的博客-CSDN博客​blog.csdn.net

gini系数 决策树_决策树系列--ID3、C4.5、CART相关推荐

  1. 决策树数学原理(ID3,c4.5,cart算法)

    上面这个图就是一棵典型的决策树.我们在做决策树的时候,会经历两个阶段:构造和剪枝. 构造 简单来说,构造的过程就是选择什么属性作为节点的过程,那么在构造过程中,会存在三种节点: 根节点:就是树的最顶端 ...

  2. cart算法_【统计学】决策树模型大比拼!ID3/C4.5/CART算法哪个更好用?

    - 点击上方"中国统计网"订阅我吧!- 决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归.虽然将多棵弱决策树的Bagging.Random Forest.Boos ...

  3. 决策树 基于python实现ID3,C4.5,CART算法

    实验目录 实验环境 简介 决策树(decision tree) 信息熵 信息增益(应用于ID3算法) 信息增益率(在C4.5算法中使用) 基尼指数(被用于CART算法) 实验准备 数据集 算法大体流程 ...

  4. 分类决策树 回归决策树_决策树分类器背后的数学

    分类决策树 回归决策树 决策树分类器背后的数学 (Maths behind Decision Tree Classifier) Before we see the python implementat ...

  5. dt决策树_决策树:构建DT的分步方法

    dt决策树 介绍 (Introduction) Decision Trees (DTs) are a non-parametric supervised learning method used fo ...

  6. 通过实例理解决策树算法(ID3,C4.5,Cart算法)

    (一)实例:使用ID3算法给出"好苹果"的决策树 (二)决策树的工作原理 我们在做决策树的时候,会经历两个阶段:构造和剪枝. 构造原理--构造的过程就是选择什么属性作为节点的过程, ...

  7. 机器学习:决策树及ID3,C4.5,CART算法描述

    文章目录 概念理解 熵: 条件熵: 信息增益,互信息: 信息增益比 基尼指数 ID3算法描述 C4.5算法描述 CART (Classification and Regression Tree)算法描 ...

  8. 【机器学习】 ID3,C4.5,CART决策树

    决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归.虽然将多棵弱决策树的Bagging.Random Forest.Boosting等tree ensembel 模型更为常见,但是&q ...

  9. 【机器学习】通过ID3,C4.5,CART算法构建决策树

    决策树 (一).决策树的简介 (二).构造决策树的三种构造方法 1.基于信息增益生成决策树(ID3算法) 2.基于信息增益率生成决策树(C4.5算法) 3.基于基尼指数生成决策树(CART算法) 总结 ...

最新文章

  1. 双水泵轮换工作原理图_「物业管理工作」水泵维护保养规程
  2. 【带你重拾Redis】Redis事务
  3. String[] arrayIP= null;的典型错误
  4. visual c++ for .net(新语法)
  5. Python如何打包EXE可执行文件
  6. dp递推 hdu1978
  7. java前端ajax提交数据_Java 前端使用Ajax通过FormData传递文件和表单数据到后台
  8. flink 卡夫卡_卡夫卡–一次语义学
  9. php小程序码生成并保存,小程序中如何生成小程序码
  10. linux把root用户删了,linux root用户没法删除文件
  11. 你真的会玩SQL吗?你所不知道的 数据聚合
  12. 数据库安全之数据掩码:SQL新功能之动态数据掩码(SQL2016AZURE SQL)
  13. 从一片空白到世界领先,中国通信翻身逆袭史
  14. SCVMM 2012 R2运维管理十一之:添加Hyper-v群集
  15. SuiteCRM图片上传(自定义控制器)
  16. 汽车电线束双绞线技术参数设定
  17. 3维图像处理的新星--Open3D(实操过程持续更新ing....
  18. 大一自我总结[zz]
  19. solr和elasticsearch
  20. android的版本电视怎么投屏,三星电视怎么投屏 三星电视投屏设置方法

热门文章

  1. 谷歌力推新语言 Logica,解决 SQL 重大缺陷!
  2. 走在“辞职”路上的数据科学家们!
  3. 低代码,是否能“取代”开发者?
  4. 腾讯看点多维实时分析系统架构大曝光!
  5. 推动隐私计算技术,360数科提出分割式神经网络框架
  6. 为什么持续集成和部署在开发中非常重要?
  7. GitHub Action 有风险?!
  8. 如何伪装成一个彻头彻尾的程序员?
  9. 惊!Python能够检测动态的物体颜色!
  10. 谷歌称已实现量子霸权;iOS 捷径功能被诉侵权;Chrome 78 Beta 发布 | 极客头条