Cart(Classification And Regression Tree)决策树作为决策树算法分支的一条,是一类非线性的模型,从CART决策树的全称不难看出这是一类可用于分类与回归的决策树。
CART算法主要由以下两步组成:
- 决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大。
- 决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。
CART决策树生成
与多叉决策树ID3,C4.5不同,CART决策树是一棵递归建树的二叉树,,对回归树用平方误差最小化准则,对分类树用基尼系数最小化准则,进行特征选择,生成二叉树。
CART回归决策树生成
输入:训练集D
输出:回归决策树f(x)
-
记X为输入数据,Y为输出值,且Y为连续变量,给定训练数据集:
D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } D=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\} D={ (x1,y1),(x2,y2),⋯,(xN,yN)}
-
选择第j个变量xj及其取值s作为切分变量和切分点,并定义两个区域: R 1 ( j , s ) = { x ∣ x j ≤ s } , R 2 ( j , s ) = { x ∣ x j > s } R_{1}(j, s)=\left\{x | x_{j} \leq s\right\}, \quad R_{2}(j, s)=\left\{x | x_{j}>s\right\} R1(j,s)={ x∣xj≤s},R2(j,s)={ x∣xj>s}
切分点的选取