当数据集特征很多且特征之间关系复杂时,构建全局模型就十分困难,而且很多非线性的问题,不可能使用线性模型来拟合数据
把数据集切分—大而化小的切分思想(把数据集切分成很多易于建模的数据,然后再用线性模型来建模,如果首次切分后仍难以拟合线性模型,那就继续切分,在这种切分方式下,树结构和回归法便十分有用)
一、回顾决策树
ID3:每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来切分。也就是说,如果一个特征有4种取值,那么数据将被切分成4份。一但按照某特征切分后,该特征在之后的算法执行过程中将不再起作用。
缺点:1.每个特征只能参与一次切分,对后续切分不在其作用
2.不能直接处理连续型特征
二、CART算法(分类回归树)
CART算法使用二元切分法来处理连续型变量。而使用二元切分法则易于对树的构建过程进行调整以处理连续型特征。具体的处理方法是:如果特征值大于给定值就走左子树,否则就走右子树
CART算法有两步
决策树生成:递归地构建二叉决策树的过程,基于训练数据集生成决策树,生成的决策树要尽量大;自上而下从根开始建立节点,在每一个节点处要选择一个做好的属性来分裂,使得子节点中训练集尽量的纯。
决策树剪枝:用验证数据集对已经生成的树进行剪枝并选择最优子树,这时损失函数最小作为剪枝的标准。