概述
CART算法的提出比IDE3和C4.5还要早,它既可以应用于回归问题,也可以应用于分类问题。
相同于IDE3和C4.5,CART算法也由以下两步组成:
1. 决策树生成
2. 决策树剪枝
CART决策树的生成
回归树的生成
回归问题中,模型的输入输出都是连续的。
假设
X
和
回归树模型是什么样子的呢?
一个回归树对应着输入空间的一个划分,以及在划分的一个个小区域上面的输出值;输入一个样本时,将这个样本点抛到这个划分好的特征空间上面去,然后通过一层层的二分(二叉树)查找,找到这个样本点所在的小区域,然后把这个区域所对应的输出值(提前学到)输出。
用数学公式来表示一下。假设输入空间划分为
M
个区域
其中,
这就是回归决策树的模型,那么怎么学到这个模型呢?也就是说怎么获得对输入空间的划分呢?
先把公式给出再解释:
这就是求解回归二叉树的模型,其中, j 表示选定第
1. minj,s 表示选取分界特征以及在该特征上的分界值,一旦选定了特征以及分界值,那么就选定了对输入空间的一次划分;
2. minc1 和 minc2 表示在两个区域里面选取一个输出值。
3. ∑xi∈R1(j,s)(yi−c1)2 和 ∑xi∈R2(j,s)(yi−c2)2 表示使用平方误差法来衡量两个区域各自的预测误差。
注意,这只是完成了一次划分,整个的算法过程应该是,遍历所有的特征(或者叫输入变量的切分变量 j ),选定一个最优的特征及其分界值,将输入空间划分为两个区域;接着,重复上述划分过程,直到满足停止条件。
最小二乘回归树生成算法
输入:训练数据集
输出:回归树
f(x)
1.选择最优切分变量
j
以及切分点
2.用选定的 (j,s) 划分区域并决定相应的输出值:
3.继续对两个子区域调用步骤1-2,直到满足停止条件。
4.将输入空间划分所得的 M 个区域
分类树的生成
分类树与回归树的不同之处在于,回归树在选择特征和分界值时使用的标准是平方误差,而分类树在选择特征和分界值时使用的标准是基尼指数。
比基尼指数
给定一个变量的概率分布,基尼指数用来衡量变量的不确定性,基尼指数与不确定性正相关,与熵类似。
假设有
K
个类,样本属于第
对于给定的样本集合 D ,其基尼指数为:
其中, Ck 表示 D 中属于第
假设有样本集合
即 D1 表示特征 A 是
那么集合 D 关于
分类树生成算法
输入:训练数据集
D
,停止计算的条件
输出:分类树
1.针对所有特征的所有取值,计算其基尼系数;例如针对特征A即其取值a,计算
2.选择一个基尼系数最小的特征及取值组合
(A,a)
作为最优特征及分界值,将训练集分为两部分,从现节点生成两个子节点,将训练数据集按照特征分配到两个子节点。
3.对两个子节点递归调用步骤1-2,知道满足停止条件。
4.返回分类树。
CART决策树的剪枝
(待)
说明
如有错误,敬请指正。