简述CART

一、什么是CART

CART(Classification And Regression Tree)是决策树家族中的一种算法,也是十大算法中的一种。根据其名字可以将CART分成三种:a. 回归树(Classification Tree),b.回归树(Regression Tree)。本文简单介绍些利用最小剩余方差法(Squared Residuals Minimization)来判定回归树的最优划分,这个准则期望划分之后的子树与样本点的误差方差最小。

在创建回归模型时,样本的取值分为观察值和输出值两种。当观察值和输出值都是连续的,而不是分类标签时,只有根据数据集的数据特征来创建一个预测的模型,进而反映出曲线的变化趋势。CART使用最小剩余方差法来判定回归树的最优划分,该准则是期望划分之后的子树误差方差最小。创建模型树,每个叶子节点则是一个机器学习模型,如线性回归模型。

二、原理

将数据集切分成很多子模型数据集,然后利用线性回归技术来建模。如果每次切分后的数据子集任然难以拟合,就继续切分。在这种切分方式下创建出的预测树,每个叶子节点都是一个线性回归模型。这些线性回归模型反映了样本集合(观测集合)中蕴含的模式,也称为模型树。因此,CART不仅支持整体预测,也支持局部模式的预测,并有能力从整体中找到模式,或根据模式组合成为一个整体。整体与模式之间的相互结合,对于预测分析有重要的价值。因此,CART决策树算法在预测中的应用十分广泛。

三、最小剩余方差法

在回归数中,数据集均是连续的。连续数据的处理方法与离散数据不同,离散数据是根据每个特征的取值来划分的,而连续特征则要计算出最优的划分点。但连续数据集上计算线性相关度非常简单,算法思想来源于最小二乘法。具体方法如下:
首先,求出划分数据列的均值和总方差。总方差的计算方法有两种。(1)先求均值m,计算每个数据点与m的方差,然后将n个点求和。(2)先求方差var,然后var_sum = var * n,n为数据集数据数目。每次最佳分支特征的选取过程如下:
(1)令最佳方差为无限大 best_Var = inf。
(2)依次遍历所有特征列及每个特征的所有样本点(二重循环),在每个样本点上二分数据集。
(3)计算二分数据集后的总方差current_Var(划分后左、右子数据集的总方差之和),如果current_Var < best_Var,则best_Var = current_Var。
(4)返回计算的最优分支特征列、分支特征值(连续特征则为划分点的值),以及左右分支子数据集到主程序。

四、CART算法流程

(1)决策树的主函数是一个递归函数。其主要功能是按照CART的规则生长出决策树的各个分支的节点,并根据终止条件结束算法。
A. 输入需要分类的数据集合类别标签。
B. 使用最小剩余方差法判定回归树的最优划分,并创建特征的划分节点——最小剩余方差子函数。
C. 在划分节点划分数据集为两部分——二分数据集子函数。
D. 根据二分数据的结果构建出新的左、右节点,作为树生长出来的两个分支。
E. 检查是否符合递归的终止条件。
F. 将划分的新节点包含的数据集和类别标签作为输入,递归执行上述步骤。
(2)使用最小剩余方差子函数,计算数据集各列的最优划分方差、划分列、划分值。
(3)二分数据集:根据给定的分隔列和分隔值将数据集一分为二,分别返回。
 (4)剪枝策略:使用先剪枝和后剪枝策略对计算出的决策树进行剪枝。









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值