1. CART决策树
- 分类与回归树(classification and regression tree, CART)模型由Breiman等人在1984年提出。CART决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。
- CART决策树的生成就是递归地构建二叉决策树的过程。对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择生成二叉树。
2. 回归树的生成
- 假设
与
分别为输入和输出变量,并且
是连续变量,给定训练数据集:
。假设已经将输入空间(特征空间)划分为
个单元
,并且在每个单元
上有一个固定的输出值
,于是回归树模型可表示为:
- 当输入空间的划分确定时,可以用平方误差
来表示回归树对于训练数据的预测误差,用平方误差最小化的准则求解每个单元上的最优输出值。上式子中
为指示函数,表示
最终是否落在区域
,如果在则为1否则为0;
- 最小二乘回归树生成算法 如下:
输入:训练数据
;
输出:回归树;
在训练数据所在的输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉决策树。
(1)选择最优切分变量与切分点
,求解:
(2)用选定的对划分区域并决定相应的输出值:每个区域的最优值,为区域中所有样本取值的均值。
表示特征向量
的第
维取值。
(3)继续对两个子区域调用步骤(1),(2),直至满足停止条件。
(4)将输入空间划分为个区域
,生成决策树:
3. 分类树的生成
- 分类树用基尼指数选择最优特征,同时决定该特征的最优二值切分点。分类问题中,假设有
个类,样本点属于第
类的概率为
,则概率分布的基尼指数定义为:
- 对于给定的样本集合
,其基尼指数为:这里
是
中属于第
类的样本子集,
是类的个数。
-
如果样本集合
根据特征
是否取某一可能值
被划分成
和
两部分,则在特征
的条件下,集合
的基尼指数定义为:
- 基尼指数
表示集合
的不确定性,基尼指数
表示经过
分割后集合
的不确定性。基尼指数值越大,样本集合的不确定性也越大,这一点与熵相似。
4. CART决策树生成算法
输入:训练数据集
,停止计算的条件;
输出:CART决策树;
根据训练数据集,从根结点开始,递归地对每个结点进行以下操作,构建二叉树:
(1)设结点的训练数据集为,计算现有特征对该数据集的基尼指数。此时,对每一个特征
,对其可能的每个取值
,根据样本点对
的测试为“是”或者“否”将
分割成
和
两个部分。计算
的基尼指数。
(2)在所有可能的特征以及它们所有可能的切分点
中,选择基尼指数最小的特征以及对应的切分点作为最优特征与最优切分点。 依据最优特征与最优切分点,从根结点生成两个子结点,将训练数据集依特征分配到两个子结点中去。
(3)对两个子结点递归地调用(1),(2),直到满足停止条件为止。算法停止计算的条件是结点中的样本个数小于预定阈值,或样本的基尼指数小于预定阈值(样本基本属于同一类),或者没有更多特征。
(4)生成CART决策树。
- 举例说明:假设训练数据如下表所示,
分别表示特征:年龄、有工作、有自己的房子、信贷情况。并以1,2,3表示年龄为青年、中年、老年,以1,2表示有无工作和有无自己的房子。1,2,3表示表示信贷情况为非常好、好和一般。
image.png
- 求特征
的基尼指数:
- 同样的方法继续求,其他特征各个切分点 对于的基尼指数,最终可知
最小,所以选择特征
为最优切分点。
参考资料
- 《统计学习方法》 - 李航
- 机器学习 - 决策树算法[一] https://www.jianshu.com/p/b7dc0afb4804
网友评论