机器学习-2 决策树

 

一、例子:

  用年龄、收入、是否学生、信用度高低来判断是否购买电脑为例子:

  

 

二、根节点的选择

  信息:如果待分类的事物可能划分在多个类之中,则符号xi的信息定义为:

        

  上例中,买电脑的概率为9/14,那么yes的信息为:

        

  同理,no的信息为:

        

  信息熵:即信息期望值。公式如下:

        

  即:

         

  在决策树ID3算法中,选择使用信息获取量(Information Gain)作为节点选择的依据,也叫类与特征的互信息(D与A的互信息):

         

  在上面我们已经求得了H(D)(即上面的Info(D)),H(D|A)代表的是在A的情况下D的信息熵。

          

  例如例子中的H(buy computer | age),计算如下:

        

  所以,g(buy computer, age) = 0.940-0.694 = 0.246 bits

 

  类似的,可以求得income,student,credit_rating的信息获取量分别是:

  g(buy computer, income) = 0.029 bits

  g(buy computer, student) = 0.151 bits

  g(buy computer, credit_rating) = 0.048 bits

  去其中最大值作为根节点,即age作为分类根节点

 

 三、计算后续节点

  在选择好根节点后,我们将训练集按age划分,并将age属性从训练集中剔除,得到以下三个列表:

  

  我们按选择根节点时计算信息获取量的方法,作用于每个分支的子数据集。从而可以选择第二层的分类节点。

 

四、处理连续值

  当数据中有连续型数据,例如age数据并不是youth、middle_aged、senior,而是具体的岁数。

  我们需要将连续型数据进行预处理,将其进行阈值划分,例如1-25为youth,26-50为middle_aged,51-100为senior。

 

五、划分结束条件

  • 给定节点的所有样本属于同一类。例如age划分后的middle_aged。
  • 没有剩余属性可以用来进一步划分样本。在此情况下,使用多数表决的方法。

  如何避免overfitting:

    当决策树层数过多时,可能因为划分太细而导致过拟合(overfitting),这是可以采取修建枝叶的方法来避免。

    1.先剪枝:在生成决策树的过程中,当类别占比达到一定程度时不再往下细分。

    2.后剪枝:在决策树完全创建后,再根据一些规则来对枝叶进行修剪。 

 

六、其他的决策树算法

  C4.5算法。

  CART算法:Classification and Regression Trees。

  共同点:都是贪心算法,自上而下(Top-down approach)。

  区别:属性选择度量方法不同,例如C4.5采用gain ratio,CART采用gini index,ID3采用Information Gain。

 

七、决策树的优点和缺点

  优点:直观,便于理解,小规模数据集有效。

  缺点:处理连续变量不是很好,类别较多时,错误增加的比较快,可规模性一般。

转载于:https://www.cnblogs.com/leokale-zz/p/10330872.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值