1 决策树定义
决策树分为分类决策树和回归决策树。分类决策树应用范围比较广,其核心思想就是在一个数据集上找到一个最优的特征,然后从这个特征的选值中找到一个最优的候选值,根据这个最优候选值将数据集划分为两个子数据集,然后递归上述操作,直到满足指定条件为止。以下主要介绍分类决策树。
决策树的生成过程主要包括三步:特征选择,决策树生成以及决策树剪枝。
2 决策树的特征选择和生成方法
决策树的特征选择方法:信息增益最大化准则,信息增益比最大化准则,基尼指数最小化准则。
2.1 信息增益最大化准则(ID3算法)
2.2 信息增益比最大化准则(C4.5算法)
2.3 基尼指数最小化准则(CART算法)
3 决策树的剪枝
剪枝的目的是为了降低决策树的过拟合风险,主要有两种策略:预剪枝和后剪枝。
3.1 预剪枝
预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能的提升,则停止划分并将当前结点标记为叶子结点。
优点:显著减少了决策树的训练时间开销和测试时间开销。
缺点:引入了欠拟合的风险。
3.2 后剪枝
后剪枝则是先从训练及生成一颗完整的决策树,然后自底向上地对非叶子结点进行考察,若该结点对应的子树替换为叶子结点能够带来决策树泛华性能的提升,则该子树替换为叶子结点。
优点:欠拟合风险很小,泛化性能优于预剪枝决策树。
缺点:训练时间开销比未剪枝和预剪枝决策树都要大得多。
4 决策树的特征处理
4.1 连续值处理
连续属性的可取值数目不再有限,无法像离散属性那样通过枚举离散属性取值来对结点进行划分,需要对连续属性进行离散化操作。C4.5算法常采用二分法对连续属性进行处理。
4.2 缺失值处理
现实任务中常会遇到样本的某些属性缺失的情况,放弃存在属性取值缺失的样本和放弃存在取值缺失的属性都是对数据信息的浪费。而如何利用这些属性缺失的样本进行训练需要解决两个问题:首先,如何在属性缺失的情况下进行属性的划分选择?其次,在给定划分属性的情况下,若样本在该属性上的值缺失,如何对样本进行划分?