吃瓜笔记--西瓜书学习笔记第四章决策树

第四章 决策树

4.1 基本流程

决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的分而治之(divide-and-conquer)策略。

决策树的生成是一个递归过程。在决策树的基本算法中,有三种情形会导致递归返回:

  1. 当前结点包含的样本全属于同一类,无需划分。
  2. 当前属性集为空,或所有样本在所有属性上取值相同,无法划分。
  3. 当前结点包含的样本为空,不能划分。

算法原理
在这里插入图片描述在这里插入图片描述

4.2 划分选择

从几何角度,决策树学习就是根据某种准则划分特征空间,关键是划分属性的选择。
一般而言,随着划分过程的不断进行,我们希望决策树的分直接点所包含的样本尽可能属于同一类别,即结点样本的纯度(purity)越来越高。(也即信息熵越来越低)

4.2.1 信息增益(information gain) [ID3决策树]

度量样本集合纯度最常用的一种指标是信息熵(information entropy),度量随机变量X的不确定性,信息越大越不确定。
一般而言,信息增益越大,表示用该属性作为划分属性所获得的“纯度提升”越大。
在这里插入图片描述在这里插入图片描述
ID3决策树基于信息增益来选择最优划分属性。

4.2.2 增益率(gain ratio) [C4.5决策树]

信息增益准则对可取值较多的属性有所偏好。(分支越多,每个分支结点的样本就越少,则每个分支结点纯度就越大;极端情形为每个分支节点只有一个样本)
在这里插入图片描述
C4.5选择的最优划分属性是信息增益高于平均水平且信息增益率最大的属性。

4.2.3 基尼指数(Gini index) [CART决策树]

CART(Classfication and Regression Tree)是一种著名的决策树学习算法,可以用于分类和回归任务。
在这里插入图片描述
CART决策树基于基尼指数来选择最优划分属性。

4.3 剪枝处理

剪枝(pruning)是决策树学习算法解决“过拟合”问题的主要手段。
决策树分支过多,可能把训练集中的一些特性当作所有数据都具有的一般性质而导致过拟合。
因此,可主动剪枝降低过拟合的风险。
剪枝的基本策略有预剪枝和后剪枝,剪枝与否则要看剪枝前后决策树的泛化性能的变化情况。

4.3.1 预剪枝(prepruning)
预剪枝是指在决策树生成的过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能的提升,则停止划分并把该结点标记为叶结点。

预剪枝决策树优点:
降低了过拟合的风险,显著减少了决策树的训练时间开销和测试时间开销。
预剪枝决策树缺点:
虽然有些分支的当前划分不能提升泛化性能,甚至可能导致泛化性能下降,但在其基础上进行的后续划分却有可能显著提升决策树的泛化性能,预剪枝基于“贪心”本质禁止这些分支展开,给预剪枝决策树带来了欠拟合的风险。

4.3.2 后剪枝(postpruning)
先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶结点。

后剪枝决策树优点:
保留更多分支,使得欠拟合风险很小,泛化性能往往优于预剪枝决策树。
后剪枝决策树缺点:
后剪枝是在生成决策树后进行的,并且还要自底向上对书中每个非叶结点逐一考察,因此训练时间开销大。

4.4 连续与缺失值

4.4.1 连续值处理
决策树生成过程中处理连续属性最简单的策略是采用二分法(这也是C4.5决策树算法采用的机制),这就相当于该连续属性是每次都只有两个取值(小于等于 t 和大于 t)的离散属性,以此来选取最优划分点进行样本的划分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值