学习笔记:决策树

本文详细介绍了决策树的学习过程,包括最佳划分度量问题中的信息增益和基尼指数,以及如何处理缺失数据和连续值。讨论了决策树的过拟合问题,并提到了预剪枝和后剪枝策略。还强调了在Python中实现决策树时需要注意的数据处理问题。
摘要由CSDN通过智能技术生成
参考文献:

1.周志华.《机器学习》,2016版.

2.李航.《统计学习方法》.

3.中国地质大学,蒋良孝博士,MOOC上的《机器学习》视频课程.

4.于剑.机器学习:从公理到算法.


初次接触《机器学习》,只是为了寻求一种解决问题的捷径(如建模),由此带来的一连串行为:找软件、找程序包(自己徒手码,是个奇迹),找

不到,就换"阵地"。虽然在当时可以解决问题,但是频繁地使用,其中不可言喻的遗憾和失望也日益强烈。之前看于剑博士书的时候,有人说,这本书

是正儿八经的胡扯,什么都可以用公式或者定理证明和计算,更为可笑的是像"丑小鸭"定理,"天下没有免费的午餐"等江湖术语频现。。。。。

体验过囫囵吞枣,面临过捉襟见肘,所以痛定思痛,重新踏上学习的征程。

基础知识点

  1. 一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每一个结点对应于一个属性测试。其中根结点包含样本全集;其他结点包含的样本集合根据测试属性被划分到子结点中。

  2. 决策树的目的在于产生一棵泛化能力强,即处理于剑示例能力强的决策树。遵循"分而治之"的策略。

  3. 六个问题:

    • 最佳划分的度量问题;
    • 处理缺失属性值问题;
    • 处理连续属性值问题;
    • 叶子结点的判定问题;
    • 怎样解决过拟合问题;
    • 待测样本的分类问题.
最佳划分度量问题

目标:希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的"纯度"越来越高.

1. 信息增益(C3.0)
特征A对训练数据集D的信息增益 g(D,A),定义为 $g(D,A)=H(D)-H(D|A)$
    
其中,H(D)为信息熵,单位为(bit或nat),表示了对数据集D进行分类的不确定;
具体计算公式为:$H(D)=-Sum(Pi*log(Pi,2))$,i为数据集D对应的类别属性值;
H(D|A) 经验条件熵,表示了在特征A给定的条件下,对数据集D进行分类的不确定性;
H(D)-H(D|A)称为互信息,在决策树为信息增益,表示由于特征A而使得数据集D的类的不确定性减少的程度.

特征选择方法

   选择信息增益最大的特征。

存在的问题和改进

  • 存在的问题

    对可取值数目较多的属性有所偏好,这种偏好会引起过拟合问题。
    (原因:由决策树的产生算法可知,构建决策树的过程中,始终选择信息增益最大的特征作为结点,然后更具结点的不同属性,在子结点递归构建决策树,直到信息增益都很小或者没有别的特征可以选择为止。当属性以及属性值较多时,决策树的规模将会非常庞大,有可能会囊括数据集最一般的特性,也就是过拟合问题)

  • 改进

    1. 增益率(C4.5)
      G a i n _ r a t i o = g ( D , A ) / H A ( D ) Gain\_ratio=g(D,A)/H_A(D) Gain_ratio=g(D,A)/HA(D)

    H_A(D):为数据集D在特征A的划分下的信息熵,称为分裂信息,度量了属性划分广度的均匀性;

    需要注意的是,增益率准则对取值数目较少的属性有所偏好,在C4.5中不直接使用,而是使用了一个启发式:先从候选划分属性中找出信息增益大于平均水平的属性,在从中选择增益率最高的。

    1. 平均信息增益

      A v e r G a i n = g ( D ,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值