C A R T 分 类 与 回 归 树
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
决策树(ID3 C4.5 CART)原理+推导+代码
文章目录简介初识决策树特征选择信息增益信息增益比ID3C4.5决策树剪枝CART 分类与回归树简述:回归树的生成分类树的生成CART剪枝优缺点决策树ID3、C4.5算法CART分类与回归树适用场景代码决策树模型,自己总结了很久,也认为比较全面了。现在分享一下自己总结的东西。
这里面我只捡精炼的说,基本上都是干货,然后能用人话说的,我也不会疯狂排列数学公式。
初识决策树
决策树其实是用于分类的方法,尤其是二分类就是是非题,不过当然不限于二分,然后CART可以应用于分类和回归。其中对于回归的处理让我很是佩服。
树形结构模型,可以理解为if-else集合。
三个步骤
特征选择
生成决策树
节点和有向边组成。
结点包括内节点(一个特征和属性)叶子节点(一个类)
先看一下模型图
每个有向边都是一条规则,节点出度规则是完备的。
算法基本流程
根据训练集生成决策树。
根据测试集剪枝。
特征选择
特征选择我们有一个潜意识里的认识,就是希望选取对于分类有帮助的特征。
那么这里采用信息增益的指标来判断。
什么是信息增益?
信息增益
什么是熵
用来度量随机变量的不确定性的,熵越大,不确定性越高。
所以我们得到了信息增益的算法:
根据上述方法我们可以得到一个属性的排序。
信息增益比
根据上面的公式其实是更有益于选择那些属性值多的属性,这是需要改进的,所以我们增加一个分母。
得到信息增益比的定义:
知道了我们如何选择特征了,接下来就是生成决策树的算法了,一共有两种,先介绍一下ID3。
简单来说就是根据信息增益从大到小进行排序来选择结点。
算法简述:
从根节点开始,选择信息增益最大的属性来划分children结点。
然后选择每个孩子结点来作为根节点,再根据信息增益选择下一个属
性来划分。
当信息增益小于阈值,或者没有剩余属性的时候停止。
这里其实思想完全和ID3一样,唯一不同的就是使用的是信息增益比。
决策树剪枝
当我们把所有的属性或者过多的属性来生成决策树的时候,很可能过拟合,也就是说对于训练集有很好的表现,但是在真正的预测阶段不尽如人意。
所以我们进行剪枝操作:
极小化决策树整体损失函数。
首先来看一下损失函数的定义:
抱歉这里我写的有点乱,解释一下。
Nt表示的是叶子节点t有多少个样本点。
Ht(T)表示叶子节点t上的熵,然后求解方法和上面说到的熵的求解是一样的。
然后第二项是一个正则项,也就是把对模型的复杂度的要求加入进来。用|T|,叶子节点的个数来表示模型复杂度。
那么第一项就是整个模型的误差了,肯定是越小越好的。
然后α控制模型的复杂度,具体的在上述图片的下面。
剪枝的过程描述:
计算每个节点的经验熵
递归:从每个叶子结点回缩,也就是向上递归,如果去掉子树的随时函数小于不去掉之前的随时函数,就要剪枝。
CART 分类与回归树
CART是二叉树,左是右否
剪枝的时候使用测试集交叉验证,然后随时函数作为标准。
生成:回归树使用平方误差最小化,分裂树使用基尼指数。
回归树的生成
遵循最小二乘生成法
这里很难理解。
首先我们想要对于连续的数据使用树的结构来分解,最终就是得到的每个叶子节点一定是一个空间。然后在这个空间里面对应着预测值y。那么其中的关键就是如何将输入空间进行划分。
这里使用的是自启发的方法,来找到最优的分割点。(也叫决策点)上面是统计学习一书中的解释,可能会有些晦涩,简单来说,大家可以联想最小二乘法,如果你对于最小二乘法的思想不理解的话,真的不可能看懂这个方法的精髓。
给大家推荐一个最小二乘法的blog,我认为写的非常好。
然后最终得到的x(j) = s,就是最优的决策点。然后用这个点来划分空间。
一个决策点就划分了两个空间,然后在对这两个空间使用同样的方法。将连续的数据使用离散的模型表示出来了。
由此决策树的生成就完成了。
分类树的生成
分类树的生成使用的是基尼系数。其实基尼系数和信息增益所表达的
是一样的。
定义:基尼指数(基尼不纯度):表示在样本集合中一个随机选中的样本被分错的概率。
Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。
基尼指数(基尼不纯度)= 样本被选中的概率 * 样本被分错的概率所以这里树的生成和ID3同样是一样的。不在多赘述。
CART剪枝
CART的剪枝有些复杂,目的是生成一个子树序列,然后通过交叉验证来选择最优子树。
决策树易于理解和解释,可以可视化分析,容易提取出规则;
可以同时处理标称型和数值型数据;
比较适合处理有缺失属性的样本;
能够处理不相关的特征;
测试数据集时,运行速度比较快;
在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
容易发生过拟合(随机森林可以很大程度上减少过拟合);
容易忽略数据集中属性的相互关联;
对于那些各类别样本数量不一致的数据,在决策树中,进行属性划分时,不同的判定准则会带来不同的属性选择倾向;信息增益准则对可取数目较多的属性有所偏好(典型代表ID3算法),而增益率准则(CART)则对可取数目较少的属性有所偏好,但CART进行属性划分时候不再简单地