一、定义
CART(Classification and Regression Tree)即分类回归树算法。其决策树的生成就是递归的构建二叉决策树的过程。每次划分都把当前样本集划分为两个子样本集。对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。
二、分裂次数
假设某属性存在m个可取值,那么该属性作为分支属性时,生成两个分支的分裂方法共有2m−1−1\displaystyle 2^{m-1} -12m−1−1种。如果有n个属性,则分裂方法有(2m−1−1)n\displaystyle \left( 2^{m-1} -1\right)^{n}(2m−1−1)n种。
三、CART分类树与回归树
1、CART分类树
1.1、分类树原理
(1)CART算法在分支时使用Gini系数作为树的生成方式。设SSS为大小是n的样本集,其分类属性有m个不同的取值,用来定义m个不同分类Ci(i=1,2,...m)\displaystyle C_{i}(i=1,2,...m)Ci(i=1,2,...m),则其Gini指数的计算公式为:
Gini(S) = 1−∑i=1m(∣Ci∣S)\displaystyle Gini( S) \ =\ 1-\sum ^{m}_{i=1}\left(\frac{|C_{i} |}{S}\right)Gini(S) = 1−i=1∑m(S∣Ci∣)
Gini(p) =∑k=1kpk(1−pk)=1−∑k=1kpk2\displaystyle Gini( p) \ =\sum ^{k}_{k=1} p_{k}( 1-p_{k}) =1-\sum ^{k}_{k=1} p^{2}_{k}Gini(p) =k=1∑kpk(1−pk)=1−k=1∑kpk2
其中,SSS为样本总数量,Ci\displaystyle C_{i}C