决策树Decision Tree:包含特征选择、树的构造和树的剪枝三个过程,可用于解决分类和回归问题,简单直观、解释性强,在营销和生物医药领域特别受欢迎(树形结构在销售、诊断等场景的决策过程中特别适用),将决策树应用集成学习思想可以得到随机森林、梯度提升决策树等模型。实际应用过程中应根据数据类型、规模和任务的不同灵活选用决策树和剪枝策略。
决策树常用的启发式函数
- ID3:最大信息增益。倾向于取值较多的特征,反应给定条件后不确定性减少的程度,特征取值越多意味着确定性越高,也就是条件熵越小,信息增益越大。这样的划分是最优的,但是泛化能力非常弱。只能处理离散型变量。只用于分类。
- C4.5:最大信息增益比。引入信息增益比,一定程度上对取值比较多的特征进行惩罚,避免ID3出现的过拟合特性,提高泛化能力。可处理连续型变量,对数据排序之后找到不同类别的切分点,根据切分点把连续属性转换成布尔型,从而将连续变量转换为多个取值区间的离散型变量。只用于分类。
- CART:最大基尼系数Gini。适用于连续型变量。适用于分类和回归,回归树使用最小平方误差准则。形成一棵二叉树,特征可被重复使用。
完全生长的决策树每个叶节点只包含一个样本,这导致决策树是过拟合的,为提高泛化能力,我们需要对决策树进行剪枝提高泛化能力。
预剪枝Pre-Pruning,生成决策树的过程中提前停止树的增长。在树中结点扩展之前,计算当前模型是否能够带来模型泛化能力的提升,如果不能,就不再生长子树。此时可能不同类别的样本都处于该节点中,按照多数投票原则决定该节点的所属类别。根据经验决定何时停止生长,存在一定的欠拟合风险。一般有三种方法:
- 到达一定的深度阈值。
- 到达当前节点样本数量的最小阈值。
- 计算每次分裂对测试及准确度的提升,到达准确度提升的最小阈值。
后剪枝Post-Pruning,在已生成的过拟合决策树上剪枝。后剪枝从底层向上计算是否剪枝,一般也是通过准确率来决定。相比于预剪枝,后剪枝可以得到泛化能力更强的决策树,但时间开销会更大一点。常用的后剪枝方法包括:
- 错误率降低剪枝
- 悲观剪枝
- 代价复杂度剪枝
- 最小误差剪枝
- ……