决策树 prepruning_【数据模型】决策树模型简介

参考材料:《机器学习》周志华(西瓜书)

内容框架:

1、基本算法流程

2、划分选择方法

3、决策树剪枝

4、连续值与缺失值处理

5、多变量决策树

1、基本算法

主要是要判断何时成为叶节点、何时生成分支以及如何生成。

8d448ebd6132b9ca48941466662f00e8.png

2、划分选择方法

2.1信息增益

“信息熵”是度量样本纯度的最常用指标,其中pk是集合中第k类的比例。Ent值越小,纯度越高。

be0e68a9545ee5ad4ca66ab098af016f.png

信息增益公式如下,信息增益越大,用a划分的的提升越大。

e9dac53744d3914a9bac465a84eb784a.png

2.2 增益率(C4.5决策树算法)

由于信息增益准则对可取值较多的属性有所偏好,为了减少偏好带来的不利影响,C4.5算法不直接使用信息增益,而是用增益率。

但是由于增益率对可取值较少的属性有偏好,所以算法使用的是一个启发式:先从划分属性中选择信息增益高于均值的属性集,然后再选择增益率高的。

增益率公式:

8a6cd2eff4eda5f773e3d75c478d46da.png

其中Dv是指集合D根据a属性划分出来的子集。

2.3 基尼指数(CART算法)

基尼值公式:

6f2a229cc26d02d566891013146b1bc4.png

基尼值反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此,基尼值越小越纯。

属性a的基尼指数定义,所以会选择划分后基尼指数最小的属性:

640ca86a5e6c8ddd204aec22446102ba.png

3、决策树剪枝

剪枝是解决过拟合的主要手段。有“预剪枝”(prepruning)和“后剪枝”(postpruning)。

预剪枝是在决策树生成过程中,结点划分前先进行估计,如果节点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶结点。

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

如何判断泛化性能呢?可以参考之前的文章“四、性能度量”。

Lamcky:【数据模型】模型评估与选择​zhuanlan.zhihu.com

比如用留出法,留一部分数据做验证,进行性能评估,看在训练集上得出的决策树是否能够提升验证集的泛化性能。

方法评价:

1)预剪枝会使得决策树的很多分支都没有“展开”,这不仅降低了过拟合的风险,还显著减少了决策树的训练时间开销,和测试时间开销。但另一方面,有些分支的当前划分虽不能提升泛化性能、甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却又可能导致性能显著提高;预剪枝基于“谈心”本质禁止这些分支展开,给预剪枝决策树带来了欠拟合的风险。

2)后剪枝比预剪枝保留了更多的分支。一般情况下后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝。但后剪枝过程是在生成完全决策树之后进行的,并且要自底向上地对树中的所有非叶结点进行逐一考察,因此其训练时间开销比较大。

4、连续值与缺失值

1)连续值处理

上述阐述了离散属性来生成决策树,现实任务中会遇到连续属性。

最简单的策略是采用二分法(C4.5决策树算法中采用的机制)。

将连续取值排序并以每两个相邻的值的中间位置作为候选划分点,然后就可以像离散值那样考察划分点并选择最优的划分点。

公式如下:

c1780e4ec68c0c9028dd4d4d7b68c3a8.png

2)缺失值

——如何在属性值缺失的情况下进行划分属性选择?

可以仅根据没有缺失值的样本子集来判断a的优劣:

3ee3e88c6703816e820a24c4364b4e44.png

1837a3814d6ba4b06d1ae78fce6c6a1e.png

其中ρ是无缺失值样本所占的比例。

——给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?

如果样本在该属性上取值未知,那么就将样本按比例加入到所有子结点,分配比例为子结点的权重。

比如x的a属性缺失,其中a属性有两个类别i和j,分别有3个和4个样本,因此3/7的x进入i,4/7的x进入j。

5、多变量决策

多变量划分时边界显示比较复杂(连续变量可以用于多次划分使用)

8b1fa281592e01702eac806b1569c5ad.png

如果用线性分类器进行划分则会简化:

4dda471d14dc9f5dfb8707e44bd6e575.png

4de2bdd60ca50a79428f0c840b129ebd.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值