机器学习笔记(三):西瓜书第4章——决策树

决策树学习的基本算法,可参看周志华老师的《机器学习》 。

1、2、3  基本流程、划分、剪枝

  • 决策树的结构:
    • 一个根结点
    • 若干个内部结点
    • 若干个叶结点
    • 根结点包含样本全集,其他每个结点则对应于一个属性测试,叶结点对应于决策结果。
  • 划分
    • 在决策树基本算法中,有三种情形会导致递归返回: (1) 当前结点包含的样本全属于同一类别,无需划分; (2) 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分; (3) 当前结点包含的样本集合为空,不能划分。除了这三种情形,我们一般需要对样本进行划分,划分样本后,再进行剪枝。
    • 如何选择最优划分属性??
    • 信息增益
    • 增益率
    • 基尼指数
  • 剪枝——避免过拟合
    • 预剪枝
      • 在划分前评估这个结点能不能给决策树带来性能的提高,如果可以,则划分,如果不可以,则不划分。
      • 预剪枝存在欠拟合的风险
    • 后剪枝
      • 后剪枝存在过拟合的风险
    • 如何判断决策树的泛化性能能否提升??

完整的例子:

首先,拿到数据集,我们:

  • 数据清洗
  • 划分训练集和验证集
  • 利用信息增益/增益率/基尼指数来进行划分属性的选择
  • 样本划分完毕之后,我们得到了一棵还没有剪枝的树
  • 进行预剪枝:泛化前后性能估计(备注:数字后面+代表:在训练集中该编号的瓜是好瓜)
    • ​​​​​​​首先,假设脐部属性无论取值为何,都是好瓜
    • 结果,验证集中,好瓜所占比例为3/7=42.9%,坏瓜所占比例为4/7
    • 则,划分前,验证集精度42.9%
      • ​​​​​​​​​​​​​​脐部属性有三个值,凹陷,稍凹,平坦,训练集中,凹陷大多是好瓜,稍凹一半好瓜一半坏瓜,平坦都是坏瓜,则假设凹陷是好瓜,稍凹是好瓜,平坦是坏瓜
      • 结果,验证集中,4+,5+,13-是凹陷8+,9-是稍凹11-,12-是平坦,预测正确的是4,5,8,11,12,
      • 则划分后,验证集精度5/7=71.4% > 42.9%,所以预剪枝决策:划分
      • 以此类推
  • 或者进行后剪枝
    • 首先,在验证集中,凹陷+青绿=4+、13-;凹陷+浅白=5+;平坦=11-、12-;稍凹+稍蜷+乌黑+清晰=8+稍凹+稍蜷+乌黑+稍糊=9-。凹陷+青绿预测是好瓜,凹陷+浅白预测是坏瓜平坦预测是坏瓜稍凹+稍蜷+乌黑+清晰预测是坏瓜稍凹+稍蜷+乌黑+稍糊预测是好瓜;则,整棵树的验证集的精度=(1+0+2)/7=42.9%。整棵树的验证集精度为42.9%
    • 考虑6结点——​​​​​​​脐部稍凹,根蒂稍蜷,色泽乌黑的就只有 两个样本,7和15,在训练集中,7是好瓜,15是坏瓜,所以6结点预测为好瓜。
    • 在验证集中,则验证集精度为57.1%>42.9%,则划分。
    • 以此类推。
  • 完毕!!

在这一章节中,提到了三个算法:

  • ID3决策树——信息增益
  • C4.5算法——增益率划分属性——二分法——处理连续属性
  • CART决策树——基尼指数

4、连续值和缺失值的处理

例子以及计算过程:

 首先,密度有17个值,那么依据两值之间的中间值作为划分的原则,则共有16个划分点,含糖率同理,则依据(4.8)计算信息增益。

D是样本集合,t是划分点 ,连续属性a,基于划分点t可以把D划分为两个子集,Dt-,Dt+,Dt-包含那些在属性a上取值不大于t样本,Dt+包含那些在属性a上取值大于t样本。

T密度 ={0.244 0.294, 0.351, 0.381, 0.420, 0.459, 0.518, 0.574, 0.600, 0.621, 0.636, 0.648, 0.661, 0.681, 0.708, 0.746}.

Ent(D)=-(8/17*log8/17+9/17+log9/17)=-0.9975025

对于第一个划分点:0.244

Ent(Dt-)=-(1/1*log1/1)=0

Ent(Dt+)=-(1/2*log1/2+1/2*log1/2)=-1

则,Gain(D,a)=-0.99750255+16/17=-0.056326

当划分点是0.381的时候,小于划分点的样本的密度为0.243、0.245、0.343、0.360,这四个样本都是坏瓜,则:

Ent(Dt-)=-(4/4*log4/4)=0

Ent(Dt+)=-(8/13*log8/13+5/13*log5/13)=-0.9612366

则,Gain(D,a)=-0.99750255+0.9612366*13/17=-0.2624392=-0.26

其他划分点的计算以此类推,则可以知道,当划分点为0.381的时候,密度的信息增益为0.26,最大,则应该以0.381为划分结点。

5、多变量决策树

根据下图应该就可以明白什么是多变量决策树,简单解释,也就是说多变量决策树的划分属性不再是单个属性,而是属性的线性组合。

 参考资料:

周志华《机器学习》

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值