机器学习笔记--一文读懂回归树
前面我们已经给大家讲了决策树,基本思路还是比较好理解的,就是多次根据条件进行划分,比如我们之前讲过的相亲的例子,根据对方的各种条件,决定是否去相亲。
我们现在考虑另外一种情况,就是假如我们女主相亲了16个对象,每次相亲回来之后都会对男方进行打分,而不是简单的评价是否满意。这样我们就会有一堆样本,我们现在想要建立一个决策树,直接预判下一个相亲对象(已知其各项条件)可能会被打多少分。
这个就是我们今天要讲的回归树。
为了简化问题,我们就将男方条件简化为只有一个:身高(女主是个身高控,只看身高进行打分)。
这是我们的16个样本,x是身高,y是得分:
这是我们根据样本画出的关系图。基本上低于170cm不考虑了,高于190cm,女主也基本接受不了
回归树的基本思路是将x的每一个样本作为划分条件,看划分后的每一个子集的y值和y均值的平方之和,取最小的那个。
也就是说,我们想要找到一个划分条件,划分后的集合内y值的差别最小。
1、选择最优切分点
切分变量可以取两个相邻取值区间的任意一个值。
a.先取155cm作为切分变量,对应的Y值集合分为两个子集,
R1={50}
R2={50,50,50,50,55,60,60,60,80,100,100,100,90,80,60}
最终的两个子集的均值分别为c1=50和c2=69.67
两个子集的L值=0+5523.33=5523.33
b.取161cm为切分变量
重复上述步骤L=0+5108.92=5108.92
以此类推
结果显示,s=176.5时,损失函数最小,所以第一个切割点为s=176.5分。
割后的
R1=[50, 50, 50,50, 50, 55, 60, 60, 60]
R2=[80, 100, 100, 100, 90, 80, 60]
2、子集的再切割
对于R1,重复上述操作,最终分割点为169.5,R11=[50, 50, 50, 50, 50],R12=[55, 60,60, 60]
对 R11和R12继续划分。。。。
对于R2,分割点为197.5, R21= [80, 100, 100, 100, 90, 80],R22= [60]
对R21和R22继续划分。。。
3、生成回归树
假设分了两次以后即停止,那么
我们来画图看一下效果,如下图所示,
前面一段的划分效果还是比较理想的,身高超过180cm之后的拟合效果欠佳,如果想要更精准的效果,可以继续往下切分,那就会引申到另外一个问题:什么时候停止划分是合理的?我们之前的一篇关于决策树的文章讲到了过拟合和欠拟合的问题,大家有兴趣可以往回翻一下。
总结一下回归树的主要思路,其实就一个,挨个尝试划分效果,最后选个划分效果最好的那个。划分效果就是用内部数值之间的差距来表示。
算法类文章我都会同期更新到个人公众号:宽客塔,欢迎关注~~
这个公众号以前是写金融类消息的,后来因为个人转行,就改为分享机器学习算法知识,也算是边学边写,跟大家共同学习~