CART

CART树的构建:
$function cart(D)$--$D$为数据
1.如果到了终止条件(如:所有x都相同,或所有y都相同,或到了指定深度),返回叶子节点
2.选择 分割方式,将数据分为左树$D_l$、右树$D_r$ 2部分
3.$cart(D_l),cart(D_r)$

分割方式(cart的分割方式不固定,此处采用decision stump):
选择所有decision stump中,综合不纯度最小的

impurity(不纯度)衡量单个数据集
方式1:
将这个节点当作叶子节点,考虑此叶子节点上的错误
regression    -$impurity = frac{1}{N}sum_i (y_i-overline{y})$
classification-$impurity = frac{1}{N}sum_i [y_i eq y^*]$
Gini Index(考虑到了其他分类):
$impurity = 1-frac{1}{K}sum_k {(frac{sum_i [y_i=k]}{N})}^2$

pruning:
完全长成的树,$E_{in}=0$,容易overfit;考虑加入regulization,一个方法是限制叶子节点的数量

要列出所有的树,是不可能的,考虑在以下树中做选择:
1.$G^0$为完全长成的树
2.$G^i$为在$G^{i-1}$的基础上,去掉一个叶子节点的树(在去掉一个节点的树中选取$E_{in}$最小)

missing data:
比如体重为空,选择用身高代替
CART中,每个分类节点都有一个候选分割列表(这些分割列表分割后和原分割相差很小)




原文地址:https://www.cnblogs.com/porco/p/4605660.html