决策树不仅可以做分类,还可以回归:回归树

本文已收录于 机器学习笔记 系列,共计 20 篇,本篇是第 10 篇

分类树和回归树的区别

决策树算法--CART分类树算法

除了MSE还有MAE可以作为树的评价指标。

 

特征过多?

 

回归树效果

决策树不仅仅可以做分类问题、也可以做回归问题,它画出来的图大概长下面的样子:

他并不是一条直线而是有点像股票那样的曲折。

提示:一般我们做回归用的是、决策树做回归用的还是比较少的。

 

决策树算法

决策树的算法有很多。不同的算法用不同的指标来衡量好坏。

 

一个一维度的例子

构造回归树+绘制回归线

算法思路:

具体我们可以看这一个例子(含python代码):回归树_一维度的一个例子

数据源下载:split_dataex00ex0

jupyter代码源文件下载:回归树_一维度的一个例子

预剪枝

在生成的时候,得到条件就不让他再分叉了。

两种终止思路:

  • 达到的允许的误差下降值,即达到了阈值。
  • 达到了切分最少的样本数。

以上两种思路都可以在creat tree的时候传进去两个参数。我们在上面“回归树_一个一维度的一个例子”中的

createTree(dataSet, leafType = leafType, errType = errType, ops = (1, 4))函数,最后ops参数元组就传入了两个参数。
在chooseBestSplit(dataSet, leafType = leafType, errType = errType, ops = (1,4))函数中划分树的时候就进行了处理。
tolS = ops[0] # 允许的误差下降值
tolN = ops[1] # 切分的最少样本数

后剪枝

即树木先正常生成,然后进行剪枝。

思路:两个子树做合并,计算合并后的误差与合并前的误差。如果合并之前的误差是0.5,合并后的误差反而变小了,是0.4。——那么就合并。如果合并后是0.6,那么就撤销,不合并。

 

模型树

叶子中存放的不是单子数值也不是平均值,而是存放某个分段函数/线性方程。

 

参考文献:

https://www.bilibili.com/s/video/BV1jv411u7nV

https://www.bilibili.com/video/BV1y4411g7ia?p=10

https://www.bilibili.com/video/BV1ct411C7r3

作者: 高志远

高志远,23岁,男生,毕业于上海杉达学院电子商务系。

发表评论

邮箱地址不会被公开。