《机器学习实战》读书笔记9

2017-06-25  本文已影响52人  whybask

树回归算法概述

上一章节介绍的线性回归包含了一些强大的方法,但这些方法创建的模型需要拟合所有的样本点(局部加权线性归回除外)。当数据拥有众多特征并且特征之间关系十分复杂时,构建全局线性模型的想法就显得太难了,也很笨拙。而且,在现实世界中很多问题都是非线性的,不可能使用全局线性模型来拟合任何数据。

一种可行的方法就是将数据切分成很多分易于建模的数据,然后利用线性回归技术对局部数据建模。如果首次切分后仍然难以拟合线性模型就继续切分。于是就诞生了一种叫做CART(Classification And Regression Trees,分类回归树)的算法。

优点:可以对复杂和非线性的数据建模。
缺点:结果不容理解。
适用数据类型:数值型和标称型数据。

入门案例

下图所示的数据点,是在sin函数的基础上,混杂高斯噪声生成的。本章节使用了树回归来构建模型。

上图中,蓝色线段就是用回归树模型得到的拟合效果。参数tolN和tolS用于控制分类函数停止继续分类的条件(预剪枝:解释见后文)。具体的说:tolN是切分的最少样本数;tolS是容许的误差下降值。 上图的参数没有调整,但是采用了模型树算法,得到了更好的拟合效果。

工作原理

CART是十分著名的树构建算法,它使用二元切分来处理连续性变量,对其稍作修改就可处理回归问题。CART算法也使用一个字典来存储树的数据结构,该字典含:

待切分的特征
待切分的特征值
右子树,不需切分时,也可是单个值
左子树,右子树类似

CART可构建两种树:回归树(regression tree),其每个叶节点包含单个值;模型树(model tree),其每个叶节点包含一个线性方程。一般来说,模型树具有更高的预测准确度。

决策树也可使用测试集上某种交叉验证技术发现过拟合。通过降低决策树的复杂度来避免过拟合的过程称为剪枝(pruning),在拆分树之前设置预判条件,实际上是一种所谓的预剪枝(prepruning)操作。另一种剪枝需要使用测试集和训练集,称为后剪枝(postpruning),它不需要用户指定参数,是一种更理想化的剪枝方法。后剪枝可能不如预剪枝有效,一般为了得到最佳模型可同时使用两种剪枝技术。

从下章开始,我们将离开监督学习的岛屿,驶向无监督学习的未知海域,好激动:-)

一般流程

1.收集数据:采用任意方法收集数据。
2.准备数据:需要数值型的数据,标称型数据应该先映射成二值型数据。
3.分析数据:绘出数据的二维可视化显示结果,以字典方式生成树。
4.训练算法:大部分时间都花费在叶子节点树模型的构建上。
5.测试算法:使用测试数据集,计算平均方差来分析模型的效果。
6.使用算法:使用训练出的树做预测。

可使用场景

1.待定...

同类笔记可点击这里查阅

上一篇 下一篇

猜你喜欢

热点阅读