《机器学习实战》 第九章【树回归】

mac2024-03-13  25

目录

算法描述树回归算法构建树找数据集最佳切分点树剪枝预剪枝后剪枝 CART算法模型树一般流程优缺点

算法描述

实际生活中的很多问题都是非线性的,不可能使用全局线性模型来进行拟合数据,有一种方法是将数据集切分成为很多份易于建模的数据,然后再利用上一节所使用的方法,线性回归技术,来进行建模,如果首次切分后还是很难以拟合线性模型,我们就继续进行切分。使用树回归发给发就比较有用。

树回归算法

构建树

找到最佳的待切分特征: 如果该节点不能再分,将该节点存为叶节点 执行二元切分 在右子树调用 createTree() 方法 在左子树调用 createTree() 方法

找数据集最佳切分点

对每个特征: 对每个特征值: 将数据集切分成两份(小于该特征值的数据样本放在左子树,否则放在右子树) 计算切分的误差 如果当前误差小于当前最小误差,那么将当前切分设定为最佳切分并更新最小误差 返回最佳切分的特征和阈值

树剪枝

预剪枝

预剪枝就是及早的停止树增长,在构造决策树的同时进行剪枝。所有决策树的构建方法,都是在无法进一步降低熵的情况下才会停止创建分支的过程,为了避免过拟合,可以设定一个阈值,熵减小的数量小于这个阈值,即使还可以继续降低熵,也停止继续创建分支。但是这种方法实际中的效果并不好。

后剪枝

基于已有的树切分测试数据: 如果存在任一子集是一棵树,则在该子集递归剪枝过程 计算将当前两个叶节点合并后的误差 计算不合并的误差 如果合并会降低误差的话,就将叶节点合并

CART算法

CART模型是应用广泛的决策树学习方法,由特征选择、树的生成及剪枝组成,既可以用于分类也可以用于回归。CART是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法,CART假设决策树是二叉树,内部特征结点的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支,这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。对CART稍作修改就可以处理回归问题。 这里有一篇比较好的CART解释文章。

模型树

用树来对护具进行建模,除了把叶节点简单地设定为常熟值外,还有一种方法是把叶节点设定为分段线性函数,分段线性也就是指模型由多个线性片段组成。模型树的可解释性优于回归树,其预测准确度也比较高。

一般流程

收集数据:任意方法准备数据:数值型数据,标称型数据转为二值型数据分析数据:绘出数据的二维可视化显示结果,以字典方式生成树训练算法:大部分时间都花费在叶节点树模型的构建上测试算法:使用测试数据中的R2值来进行分析使用算法:使用训练出来的树做预测,预测结果还可以用来做很多事情

优缺点

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

代码可参考: https://blog.csdn.net/u010859707/article/details/78180285

最新回复(0)