决策树模型
每个“内部节点”对应于某个属性上的“测试”(test);每个分支对应于该测试的一种可能结果(即该属性的某个取值);每个“叶节点”对应于一个预测结果
学习过程:通过对训练样本的分析来确定“划分属性”(即内部节点对应的属性)
预测过程:将测试示例从根节点开始,沿着划分属性所构成的“判定测试序列”下行,直到叶节点
策略:分而治之
信息增益
信息熵是度量样本集合"纯度"最常用的一种指标。
信息增益以信息熵为基础,计算当前划分对信息熵所造成的变化。
【西瓜书例题】
增益率
信息增益如果只考虑到信息量的获得,其实一定程度上是偏好了分支多的属性,因为分支越多,分到每个分支上的样本越少,那它自然相对分支少的会分得更"干净",这样的偏好使得模型的泛化能力差,因此需要改进 -- 于是引入了增益率。
增益率分母上的IV(a)其实起到了一个规范化的作用,把我们原先不可比较的东西变得可比。
(规范化的一个特殊形式是归一化,即将属性的值规范化到0-1之间)
启发式思想 -- 先从候选划分属性中找出信息增益高于平均水平的,再从中选取增益率最高的。
基尼指数
再候选属性中,选择使划分后基尼指数最小的属性。
决策树的剪枝
划分选择的各种准则虽然对决策树的尺寸有较大的影响,但是对泛化能力的影响很有限。
剪枝方法和程度对决策树泛化性能的影响更为显著 -- 剪枝是减少决策树过拟合的根本方法
预剪枝 -- 提前终止某些分支的增长
后剪枝 -- 生成一棵完全数后再回头剪枝
如何评估剪枝前后决策树的优劣?-- 第二章 模型评估
缺失值处理
使用带缺失值的样例需解决两个问题:
Q1 -- 如何进行划分属性选择?
Q2 -- 给定划分属性,如果样本在该属性上的值缺失,如何进行划分?
基本思路:样本赋权,权重划分。
step1:学习开始时,根节点包含样例集D中全部样例,权重均为1
step2:计算属性的信息熵,样例总数为无缺失值的样例子集
step3:计算属性在样本子集和在完整样本集上的信息增益