西瓜教程|Task03 第四章|终未落江南
第四章 决策树
4.1 基本流程
定义:决策树是布顿根据某属性进行划分的过程,即“if… …elif… …else… …”的决策过程,最终得出一套有效的判断逻辑,就是学到的模型,
- 决策过程的最终结论对应了我们所希望的判定结果。决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的“分而治之”策略。
- 导致递归返回的三种情形:
(1)当前结点包含的样本全属于同以类别,无需划分;
(2)当前属性为空,或是所有样本所有属性上取值相同,无法划分,这时我们要把当前结点标记为叶结点,并将其类别设定为该家电所含样本最多的类别;
(3)当前结点包含的样本集合为空,不能划分,这时我们要把当前结点标记为叶结点,但将其类别设定为其父结点所含样本最多的类别。 - (2)与(3)两种情形的处理实质不同:
(2)是在利用当前结点的后验分布,而情形(3)则是把父节点的样本分布作为当前结点的先验分布。
4.2 划分选择
决策树学习的关键是选择最优划分属性,
一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。
4.2.1 信息增益
“信息熵”是度量样本集合纯度最常用的一种指标。
定义:样本数越多的分支结点的影响越大,于是可计算出用属性a对样本集D进行划分所获得的“信息增益”。
- Ent(D)的值越小,则D的纯度越高。
4.2.2 增益率
编号的信息增益大,但不具有泛化效果。
使用“增益率”来选择最估划分属性。
称为属a的“固有值”。
增益率吧则对可骤值数目较少的属性有所偏好,使用了启发式:先从候选划分属性中找出信息增益高于平均水平的,再从中选取增益率最高的。
4.2.3 基尼指数
CART决策树使用“基尼指数”来选择划分属性:
简单来说,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此,Gini(D)越小,则数据集D的纯度越高。 - 属性a最小
4.3 剪枝处理 - 定义:是决策树学习算法对付“过拟合”的主要手段:主动去掉一些分支来降低过拟合的风险。
4.3.1 预剪枝
在决策树生成过程中,崔每个节点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分并将当前结点标记为叶结点。
4.3.2 后剪枝
生成一颗完整的决策树,然后自底向上地对非叶结点进行考察没人哟将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。 - 一般情况下,后剪枝的欠拟合风险小,泛化能力往往由于预剪枝决策树,但其训练时间开销比为剪枝决策树和预剪枝决策树都要大得多。
4.4 连续与缺失值
4.4.1连续值处理
采用二分法对连续属性进行处理。
4.5 多变量决策树 - 我们把每个属性视为坐标空间中的一个坐标轴,则d个属性描述的样本就对应了d维空间中的一个数据点,对样本分类则意味着在这个坐标空间中寻找不同类样本之间的分类边界。
- 决策树所形成的分类边界有一个明显的特点:轴平行,即它的分类边界由若干个与坐标轴平行的分段组成。