决策树

决策树与条件概率分布

决策树在概率论的角度解释就是每次选择一个特征,然后根据该特征的不同取值对特征空间进行划分,如此递归下去把特征空间划分为一个个子区域,对于落在这个子区域上的样本,我们可以用条件概率分布P(Y|X)来表示这些样本的概率分布,最终把条件概率最大的类别作为该子区域中的样本的类别。

 

ID3算法和C4.5算法

ID3算法用信息增益来作为选择分裂特征的标准,相同条件下信息增益会倾向于选择取值较多的特征(更容易过拟合),ID3算法只能处理离散特征,不能处理连续特征。ID3算法没有考虑特征缺失的情况,也没有考虑过拟合问题。

 

C4.5算法用信息增益率作为选择分裂特征的标准,弥补了信息增益作为分裂标准时容易偏向于选择取值较多的特征的不足,对于连续特征我们将其离散化处理,假设样本的连续特征Am个取值,把这m个值按从小到大排列,用相邻两个值的均值作为划分点将连续特征离散化,和离散特征不同的是,连续特征可以多次被选取作为分裂特征。对于特征缺失见下面。对于过拟合问题,C4.5算法通过加入正则化系数来进行初步剪枝。C4.5是一个多叉树,而在计算机中二叉树的运算效率往往会更高。C4.5只能用于分类不能用于回归。由于C4.5中使用了熵模型,里面有耗时的对数运算。在剪枝上也可以用预剪枝加上后剪枝的方式加以优化。

 

CART算法

CART算法的特点

(1) CART算法不仅可以处理分类问题,还可以处理回归问题。

(2)CART采用了二叉树模型,因此离散特征也可能被重复选用。

(3)对于分类问题CART算法用基尼系数作为选择分裂特征的标准,基尼系数相对于熵模型来说没有复杂的对数运算,计算更为简单。

(4)对于回归问题CART用平方误差最小化准则作为选择分裂特征的标准,并且每个叶子节点输出为该叶子节点所有样本输出的均值。

(5)CART的剪枝算法由两步构成:

  1)先是计算出整体树每个内部节点t的剪枝阈值 ,当我们选取的阈值大于等于这个节点t的剪枝阈值是这个节点可以被剪枝。

  2)把这些阈值按从小到大的顺序排序,并且按前面的规则进行剪纸,对于每个阈值 ,我们都可以得到一颗子树,这样我们就可以得到一个子树集合,然后我们在独立验证集上用交叉验证的方法就可以选出最优子树。

 

CART分类树算法

1. 离散特征处理

由于CART算法构建的是二叉树,所以对于离散特征,我们二分离散特征,假设特征A有3个取值{x,y,z},我们把它分成{x,非x},{y,非y}和{z,非z}3种情况,我们需要计算这3种情况的基尼指数。

2. 连续特征处理

连续特征我们需要按C4.5中提到的方法进行离散化处理,然后按离散特征的处理方法处理就行了。

3. 算法步骤

 

CART回归树算法

CART回归树和CART分类树的建立算法大部分是类似的,但是在以下几个方面存在不同:

1. 选择分裂特征的方法不同

CART分类树采用的是用基尼系数的大小来度量特征的各个划分点的优劣情况。这比较适合分类模型,但是对于回归模型,我们使用了常见的均方差和的度量方式,CART回归树的度量目标是,对于任意划分特征A,选取划分点s把数据集划分成D1和D2,求出使D1和D2各自集合的均方差最小的输出c1和c2(均方误差最小化准则下,c1就是D1该特征的均值,c2就是D2该特征的均值),求出D1和D2的均方差之和最小所对应的特征A和特征值划分点s。表达式为:

2. 决策树建立后做预测的方式不同

CART分类树采用叶子节点里概率最大的类别作为当前节点的预测类别。而回归树输出不是类别,它采用的是用最终叶子的均值或者中位数来预测输出结果。

 

CART树算法的剪枝

CART剪枝的思想是对树中叶子节点的数目做一个惩罚来限制模型的复杂度,减少模型的过拟合。对于任意的一刻子树T,其损失函数为:

C(Tt)为训练数据的预测误差,分类树是用基尼系数度量,回归树是均方差度量。|Tt|是子树T的叶子节点的数量。

CART采是后剪枝法,即先生成决策树,然后对于每个节点我们都可以计算出它的剪枝阈值,然后把这些剪枝阈值按从小到达排序,对于每个剪枝阈值我们都可以得到一颗剪枝后的子树,这样我们就可以得到一个子树序列,最后我们借助交叉验证法在独立的验证集中选出最优子树。

 

决策树如何处理缺失值

1. 如果缺失属性的样本很少,可以直接去掉这些样本。

2. 把缺失的属性当作单独的一个值。

3. 在选择分裂属性时忽略特征缺失的样本,最终计算的值乘以实际参与计算的样本数占总的样本数的比例。训练时,发现样本属性缺失将该样本分配到所有子节点中,权重由1变为具有属性a的样本被划分成的子集样本个数的相对比率,计算损失的时候,需要考虑到样本权重。测试时,发现属性缺失,就把他分到样本数最多的特征方向。

 

决策树优缺点总结

 

参考博客

https://www.cnblogs.com/pinard/p/6050306.html

https://www.cnblogs.com/pinard/p/6053344.html

 

转载于:https://www.cnblogs.com/xumaomao/p/11043930.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值