1.决策树模型
- 决策树是一种基本的分类与回归方法,以建树的形式来做决策。
- 决策树学习的三个步骤:特征选择、生成决策树、决策树修剪。
2.特征选择
特征选择就是寻找属性来划分样本,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的"纯度"越来越高。其准则就是信息增益或信息增益比。
信息熵:信息熵越小代表的样本纯度越高。
信息增益:信息增益越大,则意味着用属性a来进行划分所获得的"纯度提升"越大。
信息增益比:使用“增益比”来选择最优划分属性
基尼指数:Gini越小,则D的纯度越高。
3.决策树中的三个经典算法
- ID3算法:在决策树各个结点上应用增益准则选择特征,递归构建决策树,从根节点开始对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征
- C4.5算法:改进ID3算法,用信息增益比来选择特征。
- CART算法:根据基尼指数来构建决策树
4.生成决策树(举个例子)
1)得到数据集
2)计算信息增益
3)生成决策树
5.决策树修剪——剪枝处理
剪枝是决策树学习算法对付"过拟合"的主要手段。
过拟合原因: 1)噪声导致的过拟合:拟合了被误标记的样例,导致误分类。 2)缺乏代表性样本导致的过拟合:缺乏代表性样本的少量训练集作出的决策会出现过拟合。 3)多重比较造成的过拟合:复杂模型。
剪枝算法:
1. 计算每个结点的经验熵;
2. 递归地从树的叶结点向上回缩;
3. 一直到得到损失函数最小的子树。
剪枝处理
预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点;
后剪枝则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。
判断决策树泛化性能是否提升:留出法,即预留一部分数据用作"验证集"以进行性能评估。
例如:在预剪枝中,对于每一个分裂节点,对比分裂前后决策树在验证集上的预测精度,从而决定是否分裂该节点。而在后剪枝中,考察非叶节点,对比剪枝前后决策树在验证集上的预测精度,从而决定是否对其剪枝。
6.特殊值处理
缺失值:即样本的某些属性值缺失。
推广信息增益公式,为每个样本赋予权重,通过计算后会调整缺失值的自结点的权重:
参考书籍:《机器学习》周志华、《统计学习方法》李航