概述
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决策树的剪枝
(待)
说明
如有错误,敬请指正。