决策树之回归树模型
何为回归树?
解决回归问题的决策树模型即为回归树。
特点
:必须是二叉树。
回归树?
回归树(Regression Tree)是一种使用树模型来解决回归问题的算法。
其基本原理是将特征空间划分为多个子区域,每个子区域输出一个预测值,通常是该区域内所有训练样本标签的均值。
以下是回归树原理的详细介绍:
- 基本概念
回归树:使用树形结构进行回归预测,每个叶子节点输出一个预测值,该值通常是该叶子节点所含训练集元素输出的均值
。
预测值:叶子节点的预测值可以通过计算该区域内所有样本标签的均值来得到,也可以使用其他方法,如线性回归。 - 回归树的构建过程
回归树的构建过程主要包括以下几个步骤:- 选择最优划分特征和划分点:
遍历所有特征及其所有可能的划分点。
对于每个特征和划分点,将数据集划分为两个子集,并计算这两个子集的平方误差和。
选择使得平方误差和最小的特征和划分点作为最优划分。 - 递归构建子树:
对每个子集重复上述划分过程,直到满足停止条件(如达到预设的叶子节点数、节点内样本数少于某个阈值等)。 - 生成回归树:
构建完成后,每个叶子节点对应一个预测值,即该区域内所有样本标签的均值。
- 选择最优划分特征和划分点:
-
回归树的划分标准
平方误差最小化:回归树在划分时采用平方误差最小化准则,即选择使得划分后两个子集的平方误差和最小的特征和划分点。 -
回归树的实现算法
CART算法:CART(Classification And Regression Tree)算法是构建回归树的一种常用算法。CART假设决策树是二叉树,内部节点特征的取值只有“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。具体步骤:
- 选择最优的划分特征和划分点,将数据集划分为两个子集。
- 对每个子集递归地执行上述划分过程,直到满足停止条件。
- 生成回归树,每个叶子节点输出该区域内所有样本标签的均值作为预测值。
-
回归树的优缺点
- 优点:
模型具有可读性,分类速度快,易于理解。
能够处理非线性关系,适用于复杂数据的回归问题。 - 缺点:
单一的回归树模型可能容易过拟合,特别是当树的结构过于复杂时。
预测结果可能不够平滑,因为预测值是基于划分的子区域来确定的。
- 实际应用
回归树在实际应用中非常广泛,如房价预测、股票价格预测、销量预测等。此外,回归树还可以作为集成学习方法(如随机森林、梯度提升树等)的基学习器,通过组合多个回归树来提高预测性能。
综上所述,回归树是一种有效的回归预测方法,通过递归地划分特征空间并计算每个子区域的预测值来构建模型。其构建过程基于平方误差最小化准则,并采用CART算法等具体实现方法。在实际应用中,回归树具有广泛的适用性和良好的预测性能。
回归树计算
- 计算最优切分点
因为只有一个变量,所以切分变量必然是x,可以考虑如下9个切分点:
[1.5 2.5 3.5 4.5 5.5 65 7.5.8.5 9.5]。
【原因:实际上考虑两个变量间任意一个位置为切分点均可】
- 切分点1.5的计算
当s=1.5时,将数据分为两个部分:
第一部分:(1,5.56)
第二部分:(2,5.7)、(3,5.91)、(4,6.4)…(10,9.05) - 计算损失
- 同理计算其他分割点的损失
容易看出,当s=6.5时,loss=1.93最小,所以第一个划分点s=6.5. - 对于小于6.5部分
(1)切分点1.5的计算
当s=1.5时,将数据分为两个部分:
第一部分:(1,5.56)
第二部分:(2,5.7)、(3,5.91)、(4,6.4)、(5,6.8)、(6,7.05)
C1=5.56
C2=1/5(5.7+5.91+6.4+6.8+7.05)=6.37
Loss=0+(5.7-6.37)^2
+(5.91-6.37)^2
+…+(7.05-6.37)^2=0+1.3087=1.3087 - 因此得到:
容易看出:
<1> 当s=3.5时,loss=0.2771最小,所以第一个划分点s=3.5.
<2> 当s=8.5时,loss=0.021最小,所以第二个划分点s=8.5。 - 假设只分裂我们计算的这几次:
那么分段函数为:
<1> 当x<=3.5时,1/3(5.56+5.7+5.91)=5.72
<2> 当3.5<x<=6.5时,1/3(6.4+6.8+7.05)=6.75
<3> 当6.5<x<=8.5时,1/2(8.9+8.7)=8.8
<4> 当8.5<x时,1/2(9+9.05)=9.025
最终得到分段函数!
- 对于预测来说:
特征x必然位于其中某个区间内,所以,即可得到回归的结果,比如说:如果x=11,那么对应的回归值为9.025。
<1> 当x<=3.5时,1/3(5.56+5.7+5.91)=5.72
<2> 当3.5<x<=6.5时,1/3(6.4+6.8+7.05)=6.75
<3> 当6.5<x<=8.5时,1/2(8.9+8.7)=8.8
<4> 当8.5<x时,1/2(9+9.05)=9.025 - 决策树的构造