决策树--回归树

目录

定义

1D回归树的建立

根据例题建立回归树

第一步:计算所有阈值及其对应残差平方和(SSR)

第二步:找最佳阈值并进行二叉树建立

注意

N-D回归树的建立

第一步:找出最佳分类特征及其阈值

第二步:延伸回归树

过拟合问题

样本问题

生成的树有问题

先剪枝

优点

缺点

后剪枝

Reduced-Error Pruning(REP,错误率降低剪枝)    

Pesimistic-Error Pruning(PEP,悲观错误剪枝)

Cost-Complexity Pruning(CCP,代价复杂度剪枝)

Error-Based Pruning(EBP,基于错误的剪枝)

优点

缺点

参考资料


定义

用树模型做回归问题,每一片叶子都输出一个预测值

1D回归树的建立

(备注:Dosage:药物的剂量(x); Effectiveness: 药物的有效度(y))

根据例题建立回归树

第一步:计算所有阈值及其对应残差平方和(SSR)

从第一个和第二个观测点开始考虑,计算它们两个平均剂量作为第一个考虑的阈值(这里为3,所以阈值为3),这里的目标是根据阈值建立一个简单的二叉树,并求出这棵树的残差平方和(Sum of Squared Residuals,SSR,左右子树SSR相加)

(a)左子树

  1. 先求出阈值左边所有数据的y的均值y'(作为预测值)(下图y'=0)
  2. 计算单个SR,即(y'-y)^2, 然后将所有SR相加,即为左子树SSR (下图里为SSR=0)

(b)右子树

  1.  先求出阈值右边所有数据的y的均值y'(作为预测值)(下图y'=38.8)
  2. 计算单个SR,然后将所有SR相加

 

此时得到阈值为3时,树的SSR为27468.5.

第二步:找最佳阈值并进行二叉树建立

重复1,每次考虑第i和第i+1个观测点,求出所有阈值的SSR,下图为每个阈值的SSR的plot

 找到最小的SSR对应的阈值,然后将此阈值定为分裂点

 此时一部分二叉树就建立好了,接下来就是重复进行上面的1,2步骤,下图为一个例子:

此时的数据范围是:剂量<14.5的所有观测点,找出每个阈值的SSR,找到最小的SSR对应的阈值(11.5),此时剂量=11.5为部分二叉树的分裂点。

 

====

注意

二叉树可以一直分下去,但是分的过于细致就会过拟合。要考虑何时停止分裂。最简单的办法为设置一个最小分裂数量,通常为20,也就是如果现在范围内的观测点少于20,则不再进行分裂,以叶子结束。

====

N-D回归树的建立

当有多个因变量时,算法与上面基本一致,只是多了更多的重复运算和比较。

第一步:找出最佳分类特征及其阈值

  1.  算出剂量的最小阈值及其对应的SSR,此案例剂量最佳阈值为14.5,SSR=19564
  2. 算出年龄的最小阈值及其对应的SSR,此案例年龄最佳阈值为50,SSR=12017
  3. 算出性别的最小阈值及其对应的SSR,性别只有一个阈值,是否为女性(或者是否为男性),SSR=20738 
  4. 找出具有最小SSR的特征,将其作为第一参考对象,其对应阈值为分裂点,建立出一个二叉树

 

 

第二步:延伸回归树

完成第一步的建立后:

  1. 如果年龄小于阈值的观测点小于规定的分裂数量,则不再分裂,子节点变为叶子,记录其预测值。
  2. 如果年龄小于阈值的观测点大于规定的分裂数量,则用符合要求的数据集重复第一步,子节点将为某个特征(此案例为Dosage,之后为Sex),直到需要分裂的数据数量小于规定的分类数量。

过拟合问题

产生过拟合的原因有两个方面:

样本问题

  1. 样本里的噪音数据干扰过大,使模型记住了噪音特征,从而忽略了真实输入和输出的关系
  2. 样本数量太少
  3. 抽样方法错误,抽样时没有足够正确考虑业务场景或业务特点等等,导致抽出的样本数据不能有效足够代表业务逻辑或业务场景;
  4. 建模时使用了样本中太多无关的输入变量。

生成的树有问题

  1. 没有合理的限制树的生成或者对树进行修剪

先剪枝

先设定要求,如果再建立过程中符合要求,则停止生长,节点变为叶子

  1. 定义一个高度,当决策树达到该高度时就可以停止决策树的生长
  2. 对特征进行范围定义,如果分裂时阈值冲破了这个范围,则停止生长
  3. 对观测点数量进行定义,如果考虑范围内的观测点少于定义的观测数量,则停止生长
  4. 对信息增益进行定义,比较增益值与该阈值的大小来决定是否停止决策树的生长
    1. 表示的是,知道了某个条件后,原来事件不确定性降低的幅度,降低幅度越大越好
    2. 计算方式为:熵-条件熵
    3. 熵:描述事件的不确定性,记作 H(X)
    4. 条件熵:衡量的是在某个条件 X 下,事件 Y 的不确定性,记作 H(Y|X) 

优点

  1. 算法相对简单, 效率很高, 适合解决大规模问题。

缺点

  1. 精确地估计何时停止树的增长是相当困难的
  2. 预剪枝基于’贪心’本质,也就是能多剪枝就多剪枝,使得预剪枝策略给决策树带来了欠拟合的风险。

后剪枝

首先构造完整的决策树,允许树过度拟合训练数据,然后对那些置信度不够的结点子树用叶子结点来代替,该叶子的类标号用该结点子树中最频繁的类标记。

Reduced-Error Pruning(REP,错误率降低剪枝)    

  1. 可用的数据被分成两个样例集合:一个训练集用来形成学习到的决策树,一个分离的验证集用来评估这个决策树在后续数据上的精度
  2. 其算法步骤为:
    1. 删除以此结点为根的子树
    2. 使其成为叶子结点
    3. 赋予该结点关联的训练数据的最常见分类
    4. 当修剪后的树对于验证集合的性能不会比原来的树差时,才真正删除该结点

Pesimistic-Error Pruning(PEP,悲观错误剪枝)

根据剪枝前后的错误率来判定子树的修剪

Cost-Complexity Pruning(CCP,代价复杂度剪枝)

Error-Based Pruning(EBP,基于错误的剪枝)

优点

  1. 通常比预剪枝决策树保留了更多的分支。
  2. 一般情况下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树

缺点

  1. 后剪枝过程是在生成完全决策树后进行的,并且要自下往上地对树中的非叶子节点逐一进行考察计算,因此训练时间的开销比为剪枝和预剪枝决策树都要大得多。

参考资料

【StatQuest 】清楚地解释回归树!!!Regression Trees, Clearly Explained!!!_哔哩哔哩_bilibili

本文中图片皆来自此视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值