《机器学习》(二)决策树算法

本文深入解析ID3、C4.5及CART三种决策树算法的原理与特性,包括信息增益、信息增益率、基尼指数等关键概念,以及各算法在处理分类与回归问题上的优势与局限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、ID3算法

    ID3算法的核心要义是在决策树各个结点上应用信息增益准则选择最好的特征,递归地构建决策树。具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该结点的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。最后得到一个决策树。
需要记住的两个公式:

熵:

\large Entropy(S)=-\sum_{i=1}^{c}p_{i}log_{2}(p_{i})

信息增益:

\large Gain(S,A)=Entropy(S)-\sum_{v\in A}\frac{S_{v}}{S}Entropy(S_{v})

(Sv:属性A取“v”值时的子集)

用一个例子来理解:

ID3算法的缺点:ID3没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用。这大大限制了ID3的用途。ID3采用的信息增益度量存在一个内在偏置,它优先选择有较多属性值的Feature,因为属性值多的Feature会有相对较大的信息增益。ID3算法没有考虑缺失值的情况。ID3算法没有考虑“过拟合”overfitting的问题。

二、C4.5算法

    C4.5算法总体思路与ID3类似,都是通过构造决策树进行分类,其区别在于分支的处理,在分支属性的选取上,ID3算法使用信息增益作为度量,而C4.5算法引入了信息增益率作为度量。

    避免ID3不足的一个度量就是不用信息增益来选择Feature,而是用信息增益比率(gainratio),增益比率通过引入一个被称作分裂信息(Splitinformation)的项来惩罚取值较多的Feature,分裂信息用来衡量Feature分裂数据的广度和均匀性。

同样需要记住的两个公式:

分裂信息

\large SplitInformation(S,A)=-\sum_{i=1}^{c}\frac{\left | S_{i} \right |}{\left | S \right |}log_{2}\frac{\left | S_{i} \right |}{\left | S \right |}

信息增益率

\large GainRatio(S,A)=\frac{Gain(S,A)}{SplitInformation(S,A)}

C4.5算法的缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

 

三、CART算法

    CART算法采用的是一种二分循环分割的方法,每次都把当前样本集划分为两个子样本集,使生成的决策树的结点均有两个分支。如果分支属性有多于两个取值,在分裂时会对属性值进行组合,选择最佳的两个组合分支。ID3 和 C4.5两种算法都是用来解决分类问题的,我们使用CART算法(分类回归树)来解决回归问题。

 需要记住两个个公式:

基尼指数

\large Gini(S)=\sum_{i=1}^{c}p_{i}(1-p_{i})

条件基尼指数

\large Gini(S,A)=\sum_{i=1}^{c}\frac{S_{i}}{S}Gini(S_{i})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值