CART
分类回归树(classification and regression tree,CART)模型由Breiman等人在1984年提出,是应用广泛的决策树学习方法。CART同样由特征选择、树的生成以及剪枝组成,既可以用于分类也可以用于回归。同样属于决策树的一种。
算法思想
CART算法采用的是一种二分递归分割的技术,将当前样本分成两个子样本集,使得生成的非叶子节点都有两个分支。因此CART实际上是一颗二叉树。
CART树的特点
- CART不是一颗二叉树
- CART既是分类树又是回归树
- 当CART是分类树的时候,采用GINI值作为分裂节点的依据,当CART作为回归树的时候,使用样本的最小方差作为分裂节点的依据
回归树的生成
最小二乘法回归树生成算法
输入:训练数据集D
输出:回归树 f(x) f ( x )
在训练数据集所在的输入空间中,递归得将每一个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树:
(1)选择最优切分变量j和切分点s,求解
minj,s[minc1∑xi∈R1(j,s)(yi−c1)2+minc2∑xi∈R2(j,s)(yi−c2)2] m i n j , s [ m i n c 1 ∑ x i ∈ R 1 ( j , s ) ( y i − c 1 ) 2 + m i n c 2 ∑ x i ∈ R 2 ( j , s ) ( y i − c 2 ) 2 ]
遍历变量j,对固定的切分变量j扫描切分点s,选择使上式达到误差最小的变量(j,s),其中 R1 R 1 和 R2 R 2 表示的是划分之后的空间。
(2)用选定的(j,s)划分区域并决定响应的输出值。
R1(j,s)={
x(j)}≤s,R2(j,s)={
x|x(j)>s} R 1 ( j , s ) = { x ( j ) } ≤ s , R 2 ( j , s ) = { x | x ( j ) > s }
cm=1Nm∑xi∈Rm(j,s)yi,x∈Rm,m=1,2 c m = 1 N m ∑ x i ∈ R m ( j , s ) y i , x ∈ R m , m = 1 , 2
(3)继续对两个子区域调用步骤(1),(2),直到满足停止条件。
(4)将输入空间划分为M个区域 R1,R2,R3....RM