【机器学习实战】回归决策树

根据处理数据类型的不同,决策树分为两类:分类决策树与回归决策树。前者可用于处理离散型数据,后者可用于处理连续型数据。以下通过例子对最小二乘回归树进行简单粗暴的讲解。

示例数据集.png

1. 选择最优切分变量j与最优切分点s
在本数据集中,只有一个变量,因此最优切分变量自然是x。
考虑9个切分点

   【1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5 】

定义损失函数如下,其中y是原始数值,f(x)是切分后同一类别的平均值。



例如,取切分点s=1.5,此时,

     R1={1}
     R2={2,3,4,5,6,7,8,9,10}

这两个区域的输出值分别为:

     c1=5.56,
     c2=1/9(5.7+5.91+6.4+6.8+7.05+8.9+8.7+9+9.05)=7.50

其损失度:

     m(1.5)=(5.56-5.56)2 +(5.7-7.50)2 +(5.91-7.50)2 +(6.4-7.50)2 ...(9.05-7.50)2
     =0+15.72
     =15.72

依次对每一个切分点进行上述计算,使得损失最小的切分点即为最优切分点。公式表示如下:


2. 循环计算损失度
本数据集计算的各切分点损失度结果如下:

显然取 s=6.5时,m(s)最小。因此,第一个划分变量j=x,s=6.5。此时,两个区域分别是:R1={1,2,3,4,5,6},R2={7,8,9,10},输出值从c1=6.24,c2=8.91。
对R1/R2重复上述过程,继续划分。
3. 生成回归树
假设在生成3个区域之后停止划分,那么最终生成的回归树形式如下:

树回归与线性回归


当然,处理具体问题时,单一的回归树肯定是不够用的。可以利用集成学习中的boosting框架,对回归树进行改良升级。


参考链接:https://blog.csdn.net/weixin_40604987/article/details/79296427
相关阅读:【机器学习实战】利用AdaBoost元算法提高分类性能

你可能感兴趣的:(【机器学习实战】回归决策树)