西瓜书-第四章-决策树

4.1基本流程

4.1.1 定义

一般的,一颗决策树包含一个根节点、若干个内部节点和若干个叶节点;

叶节点:对应决策结果,即样本的label

根 + 内部节点:对应一个分割数据集方法,根据该方法将节点对应的数据集划分到子节点中。

根到叶节点的路径:对应一个判定序列

4.1.2 流程

和递归算法类似,先确定退出条件(设置叶节点):

  1. 该节点中数据集的label相同
  2. 属性集为空集,或者数据集的属性值相同
  3. 该节点的数据集为空集

条件1:label都相同了,直接将叶节点标记为该label即可

条件2:有数据,但无法根据属性继续划分。该叶节点label少数服从多数

条件3:无数据,根据父节点的样本label 少数服从多数

每次递归最核心的问题是 选取怎样划分规则,来划分当前节点对应的数据集

4.2划分选择

4.2.1 信息增益

信息熵:

本质:越混乱(随机事件越不确定),信息量越大

y: label的集合

p_{k}: 在数据集中label为k的样本占的比例

信息增益:

本质:划分前后,信息熵的减少值

红框为划分后子节点的信息熵的期望。 

4.2.2 信息增率

        存在一个badcase: 若每个样本在属性A上取值都不同,此时,根据该属性A划分,信息增益最大。但这样泛化性太差。

IV(a) :属性a的固有值(信息熵)。 a的属性值越多,IV(a)越大。

4.2.3 基尼指数

Gini(D) 反映了从数据集中随机抽取两个样本,其类label不同的概率.因此, Gini(D) 越小,则数据集的纯度越高.

4.3 剪枝处理

目标:降低过拟合,提高泛化性。

方式:根据在验证集上表现判断是否剪枝。

4.3.1 预剪枝

思想:在处理非叶节点时,判断划分该节点能否带来性能提升,有提升则划分,没有则不划分。

优点:只用一次建树,速度快

缺点:存在欠拟合风险

4.3.2 后剪枝

思想:先生成决策树,从底向上判断是否要将非叶节点替换为叶节点。

优点:相比预剪枝,会保留更多枝,学习更充分

缺点:训练开销大

4.4 连续与缺失

4.4.1 连续值处理

思想:

公式:

4.4.2 缺失值处理

4.5 多变量决策树

4.6 总结与个人理解:

选取怎样划分规则,来划分当前节点对应的数据集。为了解决这一问题4.2 - 4.5进行了分析。

个人理解,该问题可以分解为:

  1. 本层选取哪个(或哪几个)属性来划分数据集?

  2. 根据问题1中属性,划分几个子节点,怎么划分?

4.6.1针对问题1:

  • 4.2节给出一层选一个属性的方案;
  • 4.5节给出一层选多个属性的方案;

在4.2具体选择哪个一个属性,核心在于提升子节点的纯度。有三种判断方式

  1. 信息增益:信息熵下降的绝对值。
  2. 信息率:信息增益偏好属性值多的属性,增加了属性值的惩罚
  3. 基尼系数: 任选两个样本,label不相同的概率      

4.6.2针对问题2:

  • 4.2节处理属性都是离散的情况,认为每个属性值是一个子节点。
  • 4.3节给出减少子节点个数的方式,从而提升泛化性。
  • 4.4节处理的属性存在连续值,需要将连续值离散化,方法是根据数据集中该属性下的属性值做二分,选取信息增益最大的二分方法。个人理解也可以考虑n分,然后根据验证集上表现确定n的具体值。

       

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值