决策树理解入门总结

刚开始接触决策树,想边看西瓜书边作个大概的笔记:

一、概述

    根据给定训练数据学得一个模型,用这个模型对新示例进行分类,得出最终决策。

    (联系实例理解)决策过程最终结论对应了我们希望的判定结果;决策过程中提出的每个判定问题都是对某个属性的“测试”;每次测试结果或是导出结论,或是导出进一步判定问题,其考虑范围是上次决策结果的限定范围之内,如“色泽=青绿”之后再判断“根蒂=?”,则仅考虑青色瓜的根蒂。

    叶节点--决策结果;其他节点--属性测试

    根节点--包含样本全集;根到叶节点路径--判定测试序列

    决策树学习遵循“分而治之”策略

二、划分选择

    关键:如何选择最优划分属性。

    即随着划分进行,希望决策树分支节点所包含的样本尽可能属于同一类别,即节点“纯度”越来越高。

2.1 信息熵

    信息熵:度量样本集纯度,熵值越小,纯度越高。

4.2 信息增益

信息增益越大,则用属性进行划分的“纯度提升”越大。

-假定离散属性a有v个可能的取值,若用属性a来对样本集D进行划分,则有v个分支节点;

-第v个分支节点包含了D中所有在属性a上取值的样本,记为Dv -先算出Dv的信息熵

-再由于不同分支所包含的样本数不同,给分支赋予权重|Dv|/|D|,即样本越多,分支节点影响越大

-则属性a对样本D进行划分,得到的信息增益定义为:

ID3算法计算举例:

问题:现有一批学生共同完成一个课题,其中课题组有14位成员,由右表各个成员的情况来判断是否是合格的组员。

解答: 

-由ID3算法,需要分别计算每一种划分的信息熵。

-先选“任务完成情况”来做划分,此时各个学生信息整理如下表:

1)首先计算根节点的熵:     

Entropy(是否合格) = Entropy (5,9)                     

 =  Entropy (0.36 , 0.64)                     

 = - ( 0.36 log2 0.36 ) - ( 0.64 log2 0.64 )                     

 =0.94

2)再计算各种划分的信息熵:

Entropy( 是否合格 , 任务完成情况 )

= P(完成1/3) * Entropy (3,2) + P(完成2/3) * Entropy (4,0) + P(全部完成) * Entropy (2,3)

=  (5/14) * 0.971 + (4/14) * 0.0 + (5/14) * 0.971  

= 0.693

3)则用“任务完成程度”特征来做划分时的信息增益值为:        

 G ( 是否合格 , 任务完成情况 )

= E (是否合格) - E (是否合格 , 任务完成情况)                       

= 0.94 - 0.693                          

=0.247

4)分别计算其他特征的信息增益值如下:      

5)选择信息增益最大的特征作为划分标准,整理数据得“完成2/3”分支连接叶子节点(熵为零):

6)其他熵不为零的分支进一步划分:

7)依照上面的规则,递归的执行得到一棵决策树:

4.3 增益率

   上面介绍中忽略了编号(学号)这一列,如果把“编号”也作为一个划分属性,算出信息增益为0.998(西瓜书中例子,这里例子,这里只想说明很大),远大于其他候选划分属性,因为编号产生14个分支(上例),每个分支仅包含一个样本,即分支节点的分支已经达到最大,但是,这样的决策树没有泛化能力,不能有效预测。

    实际上,信息增益对数目较多的属性有所偏好(上面也可以看出),为减少影响,使用“增益率”来选择最优划分属性,具体定义如下:

其中,下面式子称为属性a的“固有值”,属性a的可能取值越多(v越大),则IV的值会越大。

    但是,增益率可能对取值较小的属性有所偏好。因此,C4.5不是直接用增益率最大的作为划分属性,而是用启发式:先从候选划分属性中找出【信息增益】高于平均水平的属性,再从中选择【信息增益率】最高的。

4.4 基尼指数

    是CART决策树选择划分属性的方法,数据集D的纯度用基尼值来度量,即选择划分后基尼指数最小的属性为最优划分属性。

    基尼值直观上反映了从数据集D抽取两个样本,其类别标记不一致的概率。即基尼值越小,数据集D纯度越高,与之前相同形式,属性a的基尼指数定义如下:

三、剪枝处理

    针对“过拟合”问题:决策树生成中,为了产生尽可能正确的训练样本,节点划分过程将不断重复,造成分支过多(训练数据样本学的“太好”了),导致把训练集自身特点当作所有数据具有的一般性质而造成“过拟合”,因此用主动去掉一些分支来降低过拟合风险。

    基本策略:

1、预剪枝:决策树生成过程中,在每个节点划分前进行估计,若当前结点划分不能带来决策树泛化性能提升,则停止划分,并将当前结点标记为叶节点。

    一种策略:预留一部分数据作为“验证集”进行性能评估。

2、后剪枝:先生成完整决策树,再自底向上对非叶节点进行考察,若将该节点对应的子树替换成叶节点能提高决策树的的泛化性能,则将该子树替换成叶节点。

四、连续与缺失值

1、连续值

二分法(C4.5中策略)

2、缺失值

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值