1.简单介绍
树回归将数据集切分成多份易建模的数据,然后利用线性回归进行建模和拟合。这里介绍较为经典的树回归CART(classification and regression trees,分类回归树)算法。
2.分类回归树基本流程
构建树:
1.找到[最佳待切分特征]
2.若不能再切分,则将该节点存为[叶子节点]并返回
3.按照最佳待切分特征将数据集切分成左右子树(这里为了方便,假设大于特征值则为左,小于则归为右)
4.对左子树进行[构建树]
5.对右子树进行[构建树]
最佳待切分特征:
1.遍历特征
1.1遍历特征所有特征值
1.1.1计算按该特征值进行数据集切分的[误差]
2.选择误差最小的特征及其相应值作为最佳待切分特征并返回
基于回归树的预测:
1.判断当前回归树是否为叶子节点,如果是则[预测],如果不是则执行2
2.将测试数据相应特征上的特征值与当前回归树进行比较,如果测试数据特征值大,则判别当前回归树的左子树是否为叶子节点,如果不是叶子节点则进行[基于回归树的预测],如果是叶子节点,则[预测];反之,判别当前回归树的右子树是否为叶子节点,如果不是叶子节点则进行[基于回归树的预测],如果是叶子节点,则[预测]
3.分类回归树的实践说明
误差、叶子节点和预测三者有相关的关联关系,一种相对简单的是误差采用的是y值均方差,叶子节点相应的建立为该节点下所有样本的y值平均值,预测的时候根据判断返回该叶子节点下y值平均值即可。
在进行最佳待切分特征选取的时候,一般还有两个参数,一个是允许的误差下降值,一个是切分最小样本数。对于允许误差下降值,在实际过程中,需要在分割之后其误差减少应该至少大于该bound;对于切分最小样本数,也就是说切分后的子树中包含的样本数应该多于该bound。其实这两种策略都是为了避免过拟合。
4树剪枝
通过在最佳待切分特征选取时进行参数设定来避免过拟合,这其实是一种预剪枝的行为;而在回归树建立后,再进行剪枝,则是一种后剪枝的行为。
后剪枝的过程如下:
如果存在任一子集是