CART算法:
-
CART算法是在给定输入随机变量X的条件下输出分类Y的条件概率分布的学习方法;CART算法假设树是二叉树,内部结点是“是”或“否”,左边结点为“是”,右边结点为“否”;递归地二分每个特特征,即将输入空间(特征空间)划分为有限个单元,并在这些单元上预测概率分布
-
CART算法由以下两步组成:(1)决策树的生成(基于训练数据集生成决策树,生成的决策树要尽量大) (2)决策树的剪枝 (用验证数据集对已生成子树进行剪枝,选择最优子树,这时以损失函数最小作为标准
CART生成:
决策树的生成过程就是递归地构建二叉决策树的过程,对回归树采用平方误差最小化准则进行特征选择,对分类树用基尼指数最小化准则进行特征选择,并生成二叉树
- 回归树的生成:
- 分类树的生成:
首先,我们来了解一下基尼指数的概念:
算法停止计算的条件是结点中的样本个数小于预定阀值或样本集的基尼指数小于预定阀值(样本基本属于同一类),或者是没有更多特征
CART的剪枝:
CART算法从“完全生长”的决策树底端剪去一些子树,使决策树变小(模型变简单),从而能对未知数据更好地预测;CART算法由两步组成,首先从生成算法产生的决策树To底端开始剪枝,直到To的根结点,形成一个子树序列 {To,T1,T2,······};之后通过交叉验证法在独立的验证数据集上对子树序列进行测试,找出最优子树
- 剪枝过程中用损失函数作为标准,在损失函数相同的情况下选择结点更少的子树