决策树 – 回归
解决问题
实现基于特征范围的树状遍历的回归。
解决方案
通过寻找样本中最佳的特征以及特征值作为最佳分割点,构建一棵二叉树。选择最佳特征以及特征值的原理就是通过满足函数最小。其实选择的过程本质是对于训练样本的区间的分割,基于区间计算均值,最终区域的样本均值即为预测值。
在预测的时候,将会根据提供的样本的特征,来遍历二叉树(确定区域的过程),其中叶子节点的值就是预测值。
构建回归决策树,过程,其实可以理解对训练样本进行监督式聚类,每个分类都是有一组特征逻辑范围做描述;预测的时候,其实就是在匹配,那个分类逻辑范围路径和预测样本匹配,然后取这个分类里面的y值均值作为预测值。
因为决策树每一步都是当前损失函数的最优解,所以本质还是贪心算法,因为每一步都是局部最优;所以CART的回归算法也是一种启发式算法的范畴。
所以,决策树的构建过程本质就是两步走:
-
对于一个特征值序列进行各个点位的二分,计算每一次二分之后的两个点位的残差平方和(yi和mean(yi)的残差),选择最小的那个特征值作为候选分割点;
-
在针对候选的分割点的选出残差平方和最小的作为当前层的分割点。
其实无论是决策树回归还是分类,你会发现决策树解决思路都是一样的,遍历所有的特征的特征值,来作为分割点,然后看哪一个分割点的效果最好,在分类里面看的是信息增益(C3),信息增益比(C4.5)以及gini指数(CART),回归(CART)就是看孩子节点的残差平方和之和;然后再在各个孩子节点中继续选择分割点,直到层次达到了指定或者孩子节点只有一个样本。