CART算法

本文深入介绍了CART算法,包括最小二乘回归树的构建过程,通过最小化平方误差来划分区域和决定输出值。接着详细阐述了分类树的生成,基于基尼指数选择最优特征进行分割,并设定停止条件来构建二叉决策树。CART算法在决策树构建中的应用被详细解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、最小二乘回归树

算法

输入:训练师数据集D=(x1y1)(x2y2)(xnyn), y为连续变量

输出:回归树f(x)

在训练数据集所在输入空间中,递归的将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树

  1. 选在最优切分变量(特征)j与切分点s,求解
    minj,s[minc1xiR1(j,s)(yic1)2+minc2xiR2(j,s)(yic2)2]

​ 遍历变量j,对固定的切分变量j扫描且分点s,选择使上式达到最小值的(j,s)

  1. 用选定的(j,s)划分区域并决定相应的输出值:

    R1(j,s)={x|x(j)s}R1(j,s)={x|x(j)s}cm^=1NmxiRm(j,s)yi

  2. 继续对两个子区域调用(1),(2),直到满足停止条件。

  3. 将输入空间划分为M个区域R1,R2,,Rm,生成决策树:

    f(x)=m=1Mcm^I(xRm)

二、分类树的生成

假设有K个类,样本点属于K类的概率为pk,则概率分布的基尼指数定义为

Gini(p)=i=1Kpk(1pk)=1i=1Kp2k

对于给定的样本集合D,其基尼指数为
Gini(D)=1i=1K(|Dk||D|)2

如果样本集合D根据特征A是否取某一可能的值a被分割成D1D2两个部分,则在特征A的条件下集合D的基尼指数为:
Gini(D,A)=|D1||D2|Gini(D1)+|D2||d|Gini(D2)

算法:

输入:训练数据集D,停止计算条件

输出:CART决策树

根据训练数据集,从根节点开始,递归的对每个节点进行一下操作,构建二叉决策树

  1. 设结点的训练数据集为D,计算现有特征对该数据集的基尼指数,此时,对每个特征A,对其可能取得每个值a,根据样本点对A=a的测试为“是”或“否”将D分割成D1,D2两个部分,计算A=a时的基尼指数。
  2. 在所有的特征A以及他们所有可能的切分点a中,选择基尼指数最小的特征以及其对应的切分点。依最优特征与最优切分点,从现节点生成两个子节点,将训练数据集分配到连个子节点中去
  3. 对连个子节点递归的调用(1)、(2),直到满足停止条件。
  4. 生成CART树

算法停止条件是 结点中的样本个数小于预定阈值,或者样本的基尼指数小于预定阈值,或者没有更多特征。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值