前面详细讲解了ID3决策树。
现在来聊一聊CART、C4.5决策树:
CART与ID3和C4.5相同都由特征选择,树的生成,剪枝组成。但ID3和C4.5用于分类,CART可用于分类与回归。

CART是在给定输入随机变量X条件下输出随机变量Y的条件概率分布,与ID3和C4.5的决策树所不同的是,ID3和C4.5生成的决策树可以是多叉的,每个节点下的叉树由该节点特征的取值种类而定,比如特征年龄分为(青年,中年,老年),那么改节点下可分为3叉。而CART为假设决策树为二叉树,内部结点特征取值为”是”和”否”。左分支取值为”是”,有分支取值为”否”。这样的决策树等价于递归地二分每一个特征,将输入空间划分为有限个单元,并在这些单元上预测概率分布,也就是在输入给定的条件下输出条件概率分布。
CART分类树
特征选择
CART分类树通过基尼指数选择最优特征,同时决定该特征的最优二值切分点,而ID3和C4.5直接选择最优特征,不用划分。
基尼指数
分类问题,假设有K个类,样本点属于第k个类概率为pk,则概率分布的基尼指数定义为

对于给定样本集合D,基尼指数

Ck是D中属于第k类的样本子集,K是类的个数。
如果样本集合D根据特征A是否取某一可能值a被分割为D1和D2两部分。
(即在某一特征多个取值中,取其一个将其分为”是”其他为”不是”)
基尼指数越大,样本集合不确定性越大。

CART树生成
(1) 设结点的训练数据集为D,计算现有特征对该数据集的基尼指数.此时,对于每个特征,每次取其中一个每个可能取得值,根据样本点对该值的测试结果为”是”或”否”将D分成2部分,并计算基尼指数.
(2) 在所有可能的特征,以及他们所有可能的切分点中,选择基尼指数最小的特征,该选择的特征为最优特征,该特征中的切分点为最优切分点,依照最优特征和最优切分点生成二叉树,并把训练数据集分配到子节点中。
(3)对两个子节点递归调用 (1) (2) ,直至满足停止条件
(4)生成CART决策树。
停止条件是样本个数小于预定阈值,或样本基尼指数小于预定阈值,或没有更多特征。

而ID3,C4.5在(1) (2)处与CART不同,ID3计算信息增益,C4.5计算信息增益比,首先求所有特征的信息增益或信息增益比,其中计算的数值是针对每一个特征,不将特征划分,而后以该特征将树延伸,在父节点确定的条件下,继续对子节点求所有特征的信息增益,后在划分。
CART则为求所有特征下的所有切分点后进行比较来划分。
CART树剪枝
CART剪枝算法分两部,首先从生成算法产生的决策数T0底端开始不断剪枝,知道T0的根节点,形成子树序列{T0,T1,T2…Tn};然后通过交叉验证法在独立的验证数据集上对与子树测试,从中选择最优子树。

接下来我们从ID3,C4.5一步步推出CART树的剪枝

在ID3,C4.5中
决策树的剪枝通过极小化决策树的整体损失函数或者代价函数来求解。
决策树通过经验熵来生成。
设树T的叶结点个数为|T|, t 是树 T 的叶结点, 该叶结点上有 N(t) 个样本点,其中 k 类的样本点的个数为 N(tk) 个, k 为结果的类别, Ht(T) 为叶结点上经验熵,则损失函数可定义为

其中经验熵为

在损失函数中将第一项记作



C(T)表示模型对训练数据的预测误差,即模型对训练数据的拟合程度,|T| 表示模型的复杂度,参数 a>=0 控制两者直接的影响,较大的 a 促使选择模型较简单的树,而小的则相反,a=0 意味指不考虑模型复杂度,只与拟合程度有关。
剪枝,当a确定时,选择损失函数最小的模型,即损失函数最小的树,为最好的树。
从中我们可以看出一些关系,首先ID3,C4.5,中a的取值是固定的,即树要剪枝首先我们要给出生成算法给出的生成树和一个固定的a值。
那么当a不是固定的时候,则整个损失函数由预测误差,a和模型复杂度共同决策。
而后从

该式子中我们可以的得出C(T)作为模型的预测误差的值,通过累加每一个叶结点(即T个叶结点)的预测误差而得出C(T)。
这个结论对于CART同样适用,因为CART预测误差用的为基尼指数,但求和都是结点误差和。

在CART剪枝中
CART剪枝分为剪枝成子树序列,并通过交叉验证选取最优子树。

1.剪枝,成子树序列
在剪枝过程中,计算子树的损失函数:

其中,T为任意子树,C(T)为对训练数据的预测误差(如基尼指数),|T|为子树的节点个数,a>=0为参数,Ca(T)为参数是a时子树T的整体损失,参数a权衡训练数据的拟合程度和模型的复杂度。
从上方a不是固定的时候,则整个损失函数由预测误差,a和模型复杂度共同决策,得出a大的时候,最优子树Ta偏小;当a小的时候,最优子树Ta的树较大,a=0时整体树最优,a->∞时,根结点组成的单节点树最优。
且认为不同的a值,可以确定一棵不同的最优化的树,或者说一个区间内的a值可以确定一颗最优化的树
即将a不断增大,利用a生成Ta这棵最优子树

为了得到所有的可能生成的最优化树{T0,T1,T2,…Tn},我们须从底向上,每次进行一次剪枝,通过得到的树认为是最优化树反推a
具体的,从整体树T0开始剪枝,对于T0的任意内部结点t,结点下有若干子节点,把t下的子树的若干叶节点称为Tt。
剪枝后(即t下的子树减去后,t变为叶节点)的损失函数

剪枝前的损失函数

注意这里的损失函数都是某个叶结点的损失函数,但为什么可以只求叶节点的损失函数,因为在上面的分析ID3,C4.5中得出了C(T)作为模型的预测误差的值,通过累加每一个叶结点(即T个叶结点)的预测误差而得出C(T)。因此单独求某个叶结点并没有什么问题。

现在就是求解a,a如何求解?
当a=0或充分小时,不等式

因为叶结点越多预测误差应该越小。
当a不断增大时,在某个a点有

当a再增大时,不等式反向。因此只要

Tt与t有相同的损失函数,而t结点少,因此t比Tt更可取,对Tt进行剪枝。
接下来对T0这棵整体树中的每一个结点t,计算


这个g(t)表示剪枝后的整体损失函数减少程度,实际上可以看为是否剪枝的阈值,对于某个结点当他的参数a=g(t)时,剪和不剪总体损失函数时一样的。如果a增大则不剪的整体损失函数就大于剪去的。即a大于g(t)该剪,剪后会使整体损失函数减小,而a小于g(t)则不剪,剪后会使整体损失函数增大。
这样a缓慢增大,随着a的增大,在一个区间内可确定一棵最优的剪枝树

而我们求每棵树,并认为他是最优剪枝树。

g(t)则代表每一棵树的a的最优区间内的最小值

即在T0中剪去g(t)最小的Tt,得到的子树为T1,同时将最小的g(t)设为a1,那

么T1为区间[a1,a2)的最优子树。

如此这样下去,将所有可能的树的情况剪枝直到根节点,在这个过程中则

会不断增加a,产生新的区间,最后a的所有可能的g(t)取值全部确定。

2.通过交叉验证选取最优子树
具体的利用独立的验证数据集,测试子树序列T0,T1,…Tn中各棵子树的平

方误差或基尼指数。平方误差或基尼指数最小的决策数被认为是最优决策

数,因为我们每确定一棵子树就会确定其参数a值,所以最优子树Tk确定,对应ak也确定,即得到最优决策数Ta。

C4.5和CART决策树对比相关推荐

  1. 机器学习-决策树(ID3、C4.5、CART)

    [机器学习]决策树(上)--ID3.C4.5.CART 决策树是一个非常常见并且优秀的机器学习算法,它易于理解.可解释性强,其可作为分类算法,也可用于回归模型. 对于基本树我将大致从以下四个方面介绍每 ...

  2. 语音识别学习日志 2019-7-16 语音识别基础知识准备5 {决策树算法(ID3、 C4.5、 CART)}

    决策树算法(ID3. C4.5. CART) 决策树的定义 决策树学习采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一颗熵值下降最快的树,到叶子节点处,熵值为0.其具有可读性.分类速度快的 ...

  3. 机器学习算法 04 —— 决策树(ID3、C4.5、CART,剪枝,特征提取,回归决策树)

    文章目录 系列文章 决策树 1 决策树算法简介 2 决策树分类的原理 2.1 信息熵 2.2 决策树划分依据-信息增益(ID3) 2.3 决策树划分依据-信息增益率(C4.5) 2.4 决策树划分依据 ...

  4. 决策树构建算法—ID3、C4.5、CART树

    决策树构建算法-ID3.C4.5.CART树 决策树构建算法-ID3.C4.5.CART树 构建决策树的主要算法 ID3 C4.5 CART 三种算法总结对比 决策树构建算法-ID3.C4.5.CAR ...

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

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

  6. 决策树ID3、C4.5、CART、随机森林、bagging、boosting、Adaboost、GBDT、xgboost

    决策树 1.决策树学习算法主要由三部分构成: 特征选择 决策树生成 决策树的剪枝 特征选择 而我们应该基于什么准则来判定一个特征的分类能力呢? 这时候,需要引入一个概念:信息增益.,下面是公式(其中x ...

  7. 决策树(三)--完整总结(ID3,C4.5,CART,剪枝,替代)

    参考: http://blog.csdn.net/zhaocj/article/details/50503450 总结很完整 一.原理 决策树是一种非参数的监督学习方法,它主要用于分类和回归.决策树的 ...

  8. 决策树(ID3,C4.5和CART)介绍、说明、联系和区别

    决策树 决策树 1. 决策树介绍 2. 决策树构建过程 2.1 属性选择 熵 条件熵 信息增益 信息增益比 3. 决策树生成和修建 4. 决策树常见算法 ID3 C4.5 CART(基尼指数) 5.总 ...

  9. 决策树ID3、C4.5、CART算法

    参考[机器学习]决策树(上)--ID3.C4.5.CART(非常详细) - 阿泽的文章 - 知乎 https://zhuanlan.zhihu.com/p/85731206 算法的目的都是为了构建决策 ...

  10. 决策树之ID3 ,C4.5 ,CART,理论+实例

    将所学的内容整理出并结合实例推演,若有错误,敬请指教.欢迎讨论哈,机器学习爬坑中 目录 不同算法特征选择依据 信息熵 信息增益ID3 信息增益比C4.5 基尼系数CART 配合实例来了解一下以上三种特 ...

最新文章

  1. iOS 关于权限设置的问题
  2. Acwing第 9 场周赛【未完结】
  3. 2020年计算机视觉综述论文汇总!涵盖14个方向:目标检测/图像分割/医学影像/人脸识别等方向
  4. 对于PHP框架的简单认识
  5. kafka报错Failed to find any class that implements Connector
  6. mybatis插入图片处理--mysql
  7. BZOJ3511: 土地划分
  8. android自学之旅——layout资源文件
  9. 【Flink】Flink 1.11深度解析 【视频笔记】
  10. ASP.NET Web API 上传文件
  11. linux查看磁盘io性能
  12. singleton pattern的推荐实现
  13. Android深度探索(卷1)HAL与驱动开发学习笔记(8)
  14. 将RGB图像和depth深度图像存入同一个HDF5文件中
  15. c#中是否有javascript中的jQuery类库?
  16. 服务器销售年终总结ppt模板,it运维工作总结ppt模板
  17. LeetCode Top 100 Liked Questions 416. Partition Equal Subset Sum (Java版; Medium)
  18. CloudDrive — 将阿里云盘变成电脑本地磁盘,网盘挂载映射为本地磁盘!
  19. RRC协议学习—系统信息(SI)
  20. 基于STM32F407的FSMC功能实现对TFT的控制

热门文章

  1. Springboot项目整合JSP模板引擎
  2. 车型代号对照表_车型代号对照表_相关文章专题_写写帮文库
  3. syscall 系统调用陷入_MIPS中的异常处理和系统调用【转】-阿里云开发者社区
  4. 新版gsp计算机系统全套资料,新版GSP对计算机系统的需求表
  5. Java游戏框架编写
  6. 打造面向时代的“云中广科”,广科牵手华为探索校企合作新范式
  7. 灵格斯怎么屏幕取词_完整页灵格斯词霸怎么用,灵格斯词霸使用教程_9号资讯
  8. IDEA配置hadoop依赖jar包(非Maven)
  9. 【读书笔记】《CSS新世界》—— 第一章 概述
  10. ffmpeg处理YUV422和YUV420P相互转换