简单介绍树回归的算法原理
2016-09-01 16:22
399 查看
线性回归方法可以有效的拟合所有样本点(局部加权线性回归除外)。当数据拥有众多特征并且特征之间关系十分复杂时,构建全局模型的想法一个是困难一个是笨拙。此外,实际中很多问题为非线性的,例如常见到的分段函数,不可能用全局线性模型来进行拟合。
树回归将数据集切分成多份易建模的数据,然后利用线性回归进行建模和拟合。
构建回归树算法伪代码:
寻找当前最佳待切特征和特征值并返回
如果当前最佳特征没有找到,不可切分,则把当前结点的数据均值作为叶节点
否则用最佳特征和特征值构建当前结点
切分后的左右节点分别递归以上算法
寻找最佳特征算法伪代码:
如果该数据集的特征值只有一种,不可切分,返回当前结点的数据均值作为特征值
否则重复一下步骤直到找到最小总方差
遍历每一列
遍历每列的值
用该值切分数据
计算总方差
如果总方差差值小于最初设定的阈值,不可切分
如果左右样本数小于最初设定的阈值,不可切分
否则返回最佳特征和最佳特征值。
需要输入的参数有:数据集,叶节点模型函数(均值),误差估计函数(总方差),允许的总方差最小下降值,节点最小样本数。
具体代码见我github链接:https://github.com/AlanLin2015/Machine-Learning/tree/master/regtree
树回归将数据集切分成多份易建模的数据,然后利用线性回归进行建模和拟合。
构建回归树算法伪代码:
寻找当前最佳待切特征和特征值并返回
如果当前最佳特征没有找到,不可切分,则把当前结点的数据均值作为叶节点
否则用最佳特征和特征值构建当前结点
切分后的左右节点分别递归以上算法
寻找最佳特征算法伪代码:
如果该数据集的特征值只有一种,不可切分,返回当前结点的数据均值作为特征值
否则重复一下步骤直到找到最小总方差
遍历每一列
遍历每列的值
用该值切分数据
计算总方差
如果总方差差值小于最初设定的阈值,不可切分
如果左右样本数小于最初设定的阈值,不可切分
否则返回最佳特征和最佳特征值。
需要输入的参数有:数据集,叶节点模型函数(均值),误差估计函数(总方差),允许的总方差最小下降值,节点最小样本数。
具体代码见我github链接:https://github.com/AlanLin2015/Machine-Learning/tree/master/regtree
相关文章推荐
- k-近邻算法(KNN)--1简单原理介绍与实践---by香蕉麦乐迪
- Hash 算法原理简单介绍
- 2.1 线性回归算法学习——简单线性回归算法的原理及推导过程
- lvs几种算法的简单介绍
- 简单介绍一下用加速度传感器修正角速度传感器(陀螺仪)累计误差的原理
- silverlight2实现播放器的简单原理及其mediaelement的属性介绍
- 互动投影原理简单介绍
- 视频压缩知识介绍(一)——评价标准及算法原理
- 手机通信原理简单介绍
- Serv-U(ftp软件)简单的原理和介绍
- 01. 特定人识别中的DTW算法简单介绍
- 负载均衡的原理与算法介绍
- 几种压缩算法原理介绍
- Flash存储原理简单介绍
- 对flash存储器原理的简单介绍
- 图片滤镜算法原理简单讲解
- CString实现原理简单介绍
- CString实现原理简单介绍
- CString实现原理简单介绍
- 简单介绍webservice和soap小原理(转载)