关于ID3、C4.5、CART

本文介绍了三种决策树算法:ID3、C4.5和CART。详细解释了它们如何使用信息熵、增益率和基尼系数来评估数据集的纯度及选择最佳划分属性。

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

没想到第一次写博客,居然是写这个话题,原因是:威廉.庞德斯在其2005年出版的《财富公式》中说了这么一句话:“贝尔实验室和MIT有很多人将香农和爱因斯坦相提并论,而其他人则认为这种对比是不公平的——对香农是不公平的。”为什么呢?在构建完决策树,划分数据集的最大原则是:将无序的数据变得更加有序。而通过获取信息增益最高的特征就是最好的选择,信息增益的度量方式便是熵,来源于信息之父——香农。

ID3决策树

信息熵是度量样本集合纯度最常用的一种指标。假设样本集合D中第k类样本所占的比重为pk,那么信息熵的计算则为下面的计算方式


当这个Ent(D)的值越小,说明样本集合D的纯度就越高

有了信息熵,当我选择用样本的某一个属性a来划分样本集合D时,就可以得出用属性a对样本D进行划分所带来的“信息增益”

一般来讲,度量集合无序程度的方法是数据集的基尼不纯度,简单来说就是从一个数据集中随机选取子项,度量其被错误分类到其他分组里的概率。我们将对每个特征分数据集的结果计算一次信息熵,然后判断按照哪个特征划分数据集是最好的方式。当一个属性已经作为划分的依据,在下面就不在参与竞选了,我们刚才说过根结点代表全部样本,而经过根结点下面属性各个取值后样本又可以按照相应属性值进行划分,并且在当前的样本下利用剩下的属性再次计算信息增益来进一步选择划分的结点,ID3决策树就是这样建立起来的。

C4.5决策树

C4.5决策树的提出完全是为了解决ID3决策树的一个缺点,当一个属性的可取值数目较多时,那么可能在这个属性对应的可取值下的样本只有一个或者是很少个,那么这个时候它的信息增益是非常高的,这个时候纯度很高,ID3决策树会认为这个属性很适合划分,但是较多取值的属性来进行划分带来的问题是它的泛化能力比较弱,不能够对新样本进行有效的预测。

而C4.5决策树则不直接使用信息增益来作为划分样本的主要依据,而提出了另外一个概念,增益率

但是同样的这个增益率对可取值数目较少的属性有所偏好,因此C4.5决策树先从候选划分属性中找出信息增益高于平均水平的属性,在从中选择增益率最高的。

CART决策树

CART决策树的全称为Classification and Regression Tree,可以应用于分类和回归。

采用基尼系数来划分属性

基尼值

基尼系数

因此在候选属性中选择基尼系数最小的属性作为最优划分属性。


### ID3、C4.5 CART 决策树算法的区别及应用比较 #### 一、基本概念与特点 ID3 是最早的决策树算法之一,通过计算信息熵信息增益来选择最佳分裂属性[^1]。该方法倾向于选择具有更多取值的特征作为根节点。 为了克服 ID3 的不足之处,C4.5 对其进行了改进。具体来说,C4.5 使用了增益率而非单纯的信息增益来进行节点分割的选择标准[^3]。此外,C4.5 还支持连续型数据处理以及缺失值处理等功能,在实际应用中更加灵活实用。 相比之下,CART (Classification And Regression Trees) 则是一个更为通用化的框架,既可以用于分类也可以应用于回归分析。对于二叉树结构而言,它采用基尼指数作为衡量指标;而在多叉情况下,则会转而利用方差等其他度量方式。值得注意的是,CART 在剪枝策略上也有所不同——采用了成本复杂度修剪法以防止过拟合现象的发生[^2]。 ```python # Python实现简单的ID3算法示例 def id3(data, target_attribute_name="target"): from math import log def entropy(S): total = sum([len(s) for s in S]) ent = 0. for s in S: p = float(len(s)) / total if p != 0.: ent -= p * log(p, 2.) return ent # 计算信息增益并选取最大者... ``` #### 二、应用场景对比 - **ID3**: 主要适用于离散型变量的数据集,并且当样本数量较大时表现较好。然而由于容易受到噪声影响而导致模型不稳定,因此通常不会单独使用此版本。 - **C4.5**: 更适合于存在大量类别不平衡问题的任务场景下工作,因为其能够有效地应对不同类型的输入特性(包括数值型)。另外,针对含有空缺记录的情况也有较好的鲁棒性。 - **CART**: 广泛运用于金融风险评估等领域内的预测建模当中。除了可以完成传统的监督学习任务外,还特别擅长解决那些涉及非线性关系或者交互效应较强的问题。同时,借助随机森林这样的集成技术还可以进一步提升性能水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值