决策树(Decision Tree)算法原理总结(二)

        上篇我们探讨了ID3算法,以及C4.5算法,也了解了C4.5算法的不足,比如不能处理回归任务,多叉树效率低等。本篇我们来探讨CART算法是如何改进C4.5算法的不足,以及决策树是如何应对过拟合问题的,最后我们对决策树算法的优缺点进行一个总结。

1)CART算法简介

        CART(Classification And Regression Tree)算法是我们探讨的最后一种决策树算法,也是Sklearn-Learn中决策树包使用的算法,既可以生成分类树,又可以生成回归树,也特别适合作为树模型的base model,是我们必须要掌握的一种算法。
        为了优化C4.5生成多叉树时带来的效率问题,CART算法生成的是二叉树。CART算法对训练样本集的每个特征递归的进行二分判断,将特征空间划分为有限的单元。对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。
       决策树防止过拟合的方式有两种方式,第一种是限制树的生长,比如限制树的最大深度,叶节点最小样本数等;另一种是剪枝(可以理解为正则)。

2)CART分类树生成算法

       在上篇我们谈到在特征选择时,无论ID3的信息增益还是C4.5的信息增益率都存在大量的对数运算,降低模型效率。为了优化这个问题,CART算法使用基尼指数选择最优特征,基尼指数既能大致保持和熵模型同样的效果,又能避免对数运算。
       基尼指数表示集合的不确定性,基尼系数越大,则样本集合的不确定性越高,这一点与熵相似。假设样本有 K K K个类,样本点属于第 k k k类的概率为 p k p_k pk,则概率分布的基尼指数的定义为:
                                           G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini(p) = \sum_{k=1}^Kp_k(1-p_k)=1-\sum_{k=1}^Kp_k^2 Gini(p)=k=1Kpk(1pk)=1k=1Kpk2
       对于二分类问题,如果样本点属于第1类的概率为 p p p,则概率分布的基尼指数为:
                                           G i n i ( p ) = 2 p ( 1 − p ) Gini(p) =2p(1-p) Gini(p)=2p(1p)
       对于给定的样本集D,基尼指数为:
                                           G i n i ( D ) = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 Gini(D) =1-\sum_{k=1}^K(\frac{|C_k|}{|D|})^2 Gini(D)=1k=1K(DCk)2
其中, C k C_k Ck是D中属于第 k k k类的样本子集, K K K是类的个数。
       如果样本集D,根据特征A将样本分割成 D 1 D_1 D1 D 2 D_2 D2两部分,则在特征A的条件下,集合D的基尼指数为:
                                           G i n i ( D , A ) = ∣ D 1 ∣ ∣ D ∣ G i n i ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i ( D 2 ) Gini(D,A)=\frac{|D_1|}{|D|}Gini(D_1)+\frac{|D_2|}{|D|}Gini(D_2) Gini(D,A)=DD1Gini(D1)+DD2Gini(D2)

       下面我们用一张图来对比在二分类问题中, G i n i

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值