问题

为什么C4.5决策树能处理连续特征,ID3树不能处理连续特征?

回答
这问题问得好,C4.5 和 ID3 在处理连续特征上的差异,正是它们之间一个关键的进步体现。要弄明白这个,咱们得先聊聊它们各自是怎么“思考”问题的,特别是当面对的不是简单的“是/否”选项,而是像“年龄”、“身高”这样可以取无数个值的连续数据时。

ID3 的局限:只认离散

咱们先从 ID3 说起。ID3 是个很经典的决策树算法,它的核心思想是用“信息增益”来选择最佳的划分属性。简单来说,信息增益就是衡量一个属性能够多大程度上减少数据的“不确定性”——也就是让数据变得更纯净,更容易区分。

想象一下,ID3 在找一个划分点时,它会去看一个特征的所有可能的取值。比如,对于一个“颜色”的特征,它会考虑“红色”、“蓝色”、“绿色”等等。如果它发现把数据分成“红色”一类,“蓝色”一类,“绿色”一类,能带来最大的信息增益,那它就这么分。

问题就出在这儿了:ID3 的设计思维,是建立在离散特征上的。 当面对连续特征时,ID3 就有点抓瞎了。

无数个取值,怎么分? 连续特征就像一条无限长的数轴,比如“年龄”可以从 0 岁到 100 岁(甚至更长),它可以是 25.3 岁,也可以是 25.345 岁。ID3 要如何去处理这无穷无尽的取值呢?它无法像处理离散特征那样,为每个可能的具体数值都创建一个分支。这会导致树的节点过于庞杂,或者根本无从下手。
信息增益计算的困难: 信息增益的计算是基于对每个属性所有可能值的集合来划分的。如果直接把连续特征的每一个可能数值都当作一个分支,那信息增益的计算会变得天文数字般复杂,效率极低,而且根本不可行。

所以,ID3 的做法基本上就是:如果遇到连续特征,就只能忽略它,或者要求使用者提前把连续特征离散化(比如把年龄分成“青年”、“中年”、“老年”几段)。 但这样一来,信息的损失是不可避免的,而且离散化的标准怎么定,也很主观,影响效果。

C4.5 的突破:巧妙处理连续特征

C4.5 是 ID3 的一个重要改进,它最显著的特点之一就是能够直接处理连续特征,而且做得相当漂亮。C4.5 的聪明之处在于,它并没有试图去处理连续特征的所有无限个取值,而是采用了一种更聪明、更实用的方法:二分法(Binary Split)划分。

怎么实现的呢? C4.5 这样做:

1. 排序: C4.5 会把某个连续特征(比如“年龄”)的所有样本点按照其数值大小进行排序。
2. 寻找最佳分割点: 然后,它会在这些排序后的相邻样本值之间,找到一个分割点(Threshold)。这个分割点的意义是:将所有小于等于这个点的样本划为一类(比如左子节点),所有大于这个点的样本划为另一类(右子节点)。
3. 计算信息增益比: 关键在于,C4.5 不是简单地尝试每一个可能的分割点。它会计算一系列可能的分割点(通常是相邻两个不同数值的平均值作为候选分割点),然后用信息增益比(Gain Ratio)来评估哪个分割点最好。

为什么是信息增益比?

信息增益在处理取值数量多的属性时,可能会偏向于这些属性(比如“ID”这个属性,虽然每一行ID都不一样,但它绝对能把数据分得最纯净,信息增益最大,但这没有任何意义,因为它不是真正的区分性特征)。信息增益比弥补了这一点,它会考虑属性的“固有信息量”(Split Information),通过“信息增益 / 固有信息量”来衡量,从而避免了对取值数量多的属性的过度偏好。

对于连续特征,C4.5 essentially 将一个连续特征转换成了多个离散的二元特征。例如,对于“年龄”这个特征,C4.5 可能会找到一个最佳分割点,比如 30 岁。这样,它就把“年龄”这个特征变成了“年龄 <= 30”和“年龄 > 30”两个属性来划分。

具体流程可以理解为:

候选分割点生成: 对于某个连续特征,找出所有不同的数值,然后对相邻的数值取平均值作为候选分割点。
例如,样本的年龄分别是 [20, 25, 25, 30, 35, 40]。不同的数值有 20, 25, 30, 35, 40。
候选分割点可能是 (20+25)/2 = 22.5, (25+30)/2 = 27.5, (30+35)/2 = 32.5, (35+40)/2 = 37.5。
评估每个分割点: 对于每一个候选分割点,将其视为一个二元的离散属性进行划分。例如,对于分割点 22.5,就形成两个新的“子属性”:年龄<=22.5 和 年龄>22.5。然后计算基于这个划分的信息增益比。
选择最优分割点: 找到信息增益比最大的那个分割点,作为该节点的最佳划分依据。

总结一下 C4.5 的优势:

直接处理: 不需要用户手动离散化,更方便,信息损失更少。
高效划分: 通过二分法,将连续特征转化为一系列可处理的二元划分,避免了ID3在处理连续特征时的计算难题。
更优选择: 使用信息增益比,避免了ID3在某些情况下对取值数量多的属性偏向的问题,使得选择的分割点更具代表性。

所以,C4.5 之所以能处理连续特征,核心就在于它将连续的判断问题,巧妙地转换成了一系列的离散的二分判断问题,并且用信息增益比来指导这个寻找最佳二分点的过程。这是从 ID3 到 C4.5 的一个非常重要的技术飞跃。

网友意见

user avatar

先回答题主第一个问题:为什么C4.5决策树能处理连续特征,ID3树不能处理连续特征?

答:这是因为ID3在设计的时候根本就没考虑过要处理连续特征,所以它自然就不能处理连续特征。

那为什么ID3不考虑连续特征?这是因为任何研究都是循循渐进的,每一个研究只会将精力放在当前最重要的研究点之上。ID3与C4.5都是Quinlan 的作品,而ID3的研究重点是如何设计高效的节点分裂方法来生长决策树,因此它并不太在意如何去处理连续特征。为此,ID3提出了使用信息增益来衡量一次节点分裂的优劣,它是第一个成功将信息论相关理论使用到决策树算法中的,从这点来看它的时代意义比较重要。因此从学术贡献来看,它确实也没有必要再去处理一些琐碎而简单的问题了。

而C4.5的重点则是将ID3的成果工程化,让决策树能真正解决实际中的复杂问题,所以C4.5设计了详细的连续特征处理方法和剪枝算法。

以现在的眼光来看,只要你愿意,可以很容易地将ID3改造为有能力处理连续特征的决策树。

第二个问题,ID3、C4.5和CART的比较。

先说前二者。C4.5是ID3的续作。

按照作者Quinlan 的说法,C4.5是指一系列决策树算法。而现在我们一般只把它看作为一个特定的决策树算法。C4.5在评估节点划分的优劣时,不再只使用信息增益,会同时使用信息增益和信息增益率。注意,是同时使用信息增益和信息增益率,而不是只使用信息增益率。很多书籍和博客错误理解了这一点。

我们首先分析一下信息增益有什么问题。很多文章会说:信息增益会偏向于变量取值更多的离散特征。不管其对错,先看如下信息熵的公式:

假设我们有数据集D,它包含12个样本,其中有6个正样本和6个负样本。再假设两种划分,第一种划分使用特征a把数据集D划分成了两份:

D1,Pos 4 : Neg 2 (4个正样本,2个负样本)

D2,Pos 2 : Neg 4(2个正样本,4个负样本)

容易计算,数据集D1和D2的信息熵都为:

(1)

所以它们的加权熵也等于(1)式。

再来看第二种划分,使用特征b把数据集D划分成了四份

D1,Pos 2 : Neg 1 (2个正样本,1个负样本)

D2,Pos 2 : Neg 1(2个正样本,1个负样本)

D3,Pos 1 : Neg 2 (1个正样本,2个负样本)

D4,Pos 1 : Neg 2(1个正样本,2个负样本)

容易计算,这四个数据集的加权熵也等于(1)式。所以用特征a和用特征b对数据集划分得到的信息熵是一致的,这也符合我们的直觉,因为它们划分出来的结果差不多。我们看到,这样一个简单的例子其实说明“信息增益会偏向于变量取值更多的离散特征”这个结论是靠不住的,一个反例足以。那么信息增益真正的问题在哪?

继续上面的例子。刚才说了,从直觉上,用特征a对数据集划分得到的结果与用特征b对数据集进行划分得到的结果是差不多的。但从机器学习的角度来看,此时特征a的划分可能更好。原因是b迅速地将样本空间划分的过小了,从而增加了过拟合的风险。例如,我们要估计落入每个节点的正样本的真实比例(真实分布,非数据经验分布),此时我们可以用训练时数据在节点上的分布来作估计值。用特征a的划分,在D1上它的估计值是2/3;用特征b的划分,在D1上它的估计值也是2/3。但区别在于特征a的划分用了6个样本在估计,而特征b的划分只用了3个样本。所以用特征a的划分进行估计时可能更加准确。

综上所述,当面临差不多的两种划分时,我们应该要避免选择划分分支更多的那一种,因为它会将样本空间划分的更小,从而会导致在其中的统计量的可靠性变差。而信息增益在面临此种选择时,不会偏向任何一方。

所以C4.5提出了信息增益率。上面如果读懂了,此时就应该非常容易猜到信息增益率设计的动机是什么。既然要让指标偏向于划分少的,而信息增益本身并不能办到这一点,那么可以设计出一个factor,让信息增益去乘以这个factor,并且划分越多,这个factor要越小。

于是C4.5中的split info就出现了,它完全满足这样的要求(实际是它的倒数)。例如,上面的例子中,用特征a划分得到的split info为-log(0.5),而特征b划分得到的split info为-log(0.25)。后者显然大于前者,这就达到了让指标倾向于划分结果少的划分的目的。

通过上述分析,可以看出信息增益仍然是更加直接的评价指标,它能直接评估一次分裂是否能够将数据划分的更加纯净。而信息增益仅仅是一个“相对”指标。C4.5与ID3的最大区别在于,ID3仅仅追求每次节点划分能够带来最大的“收益”,而C4.5算法强调的是在保证足够收益的情况下,寻求最大“收益代价比”(将split info看作代价)。

C4.5寻找最优划分的真实方法是:1)计算所有划分的平均信息增益t;2)从所有信息增益大于t的划分中寻找信息增益率最大的划分,该划分就是最优划分。

另外,C4.5在对连续特征计算最优分割点时,只使用了信息增益,而不考虑信息增益率。这进一步暗示了信息增益才是对划分优劣更直接的评价指标。

ID3在印象中是没有剪枝的。而Quinlan 介绍的C4.5剪枝算法其实比较复杂,它主要用了针对极小样本的二项分布参数的估计方法。题主有兴趣我再追答。

最后来说CART,它与ID3和C4.5的最大区别就是在评估划分好坏时,它用了基尼系数。另外CART树一定是二分结构,及对取多个离散值的离散变量来说,它也会将它划分为二叉结构,其中一条分支表示一个值,另一条分支表示另外其它所有值。二叉的好处是不会遇到ID3使用信息增益的那种问题。所以要避免ID3的信息增益问题,另一种做法是将其改为二叉树结构。

CART的剪枝与C4.5区别也较大。简单来说,它考虑了决策树自身的规模,而C4.5并没有显示地考虑(但隐含着有类似的思想)。

类似的话题

  • 回答
    这问题问得好,C4.5 和 ID3 在处理连续特征上的差异,正是它们之间一个关键的进步体现。要弄明白这个,咱们得先聊聊它们各自是怎么“思考”问题的,特别是当面对的不是简单的“是/否”选项,而是像“年龄”、“身高”这样可以取无数个值的连续数据时。 ID3 的局限:只认离散咱们先从 ID3 说起。ID3.............
  • 回答
    C4.5 算法选择特征时使用信息增益比(Gain Ratio),这背后有着非常实际和深刻的考虑,并非随意为之。简单来说,是为了解决信息增益在特征选择时可能存在的偏向性问题。我们先回顾一下信息增益。信息增益衡量的是一个特征能够减少多少不确定性,也就是在已知某个特征的情况下,目标变量(类别)的不确定性降.............
  • 回答
    植物和动物体内的同位素比例差异,这背后其实隐藏着有趣的生物学机制和环境相互作用。我来给你细细道来。植物体内¹²C与¹³C比例的差异:光合作用的“偏好”首先,我们来看看植物体内碳同位素(¹²C和¹³C)比例的差异,这主要与植物的光合作用方式有关。 碳的来源: 植物吸收二氧化碳(CO₂)来进行光合作.............
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    打CS:GO,除了那股子跟兄弟们一起冲锋陷阵的劲儿,还有一样东西是绕不开的,那就是地图上那些我们想尽办法要炸掉或者保护好的“目标”。C4这玩意儿,说白了就是俩队伍拼命的原因,安包点、拆包,全围绕着它转。那么,在CS:GO的各个经典地图里,到底是什么东西会挨C4的“爆炸洗礼”呢?咱们一个个来唠唠。首先.............
  • 回答
    近年来,自由主义在全球范围内的影响力确实呈现出明显的衰落趋势,这一现象涉及经济、政治、社会、技术、文化等多个层面的复杂互动。以下从多个维度详细分析自由主义衰落的原因: 一、经济全球化与贫富差距的加剧1. 自由主义经济政策的局限性 自由主义经济学强调市场自由、私有化、减少政府干预,但其在21世.............
  • 回答
    俄乌战争期间,虚假信息(假消息)的传播确实非常广泛,其背后涉及复杂的国际政治、媒体运作、技术手段和信息战策略。以下从多个角度详细分析这一现象的成因: 1. 信息战的直接动因:大国博弈与战略竞争俄乌战争本质上是俄罗斯与西方国家(尤其是美国、北约)之间的地缘政治冲突,双方在信息领域展开激烈竞争: 俄罗斯.............
  • 回答
    政府与军队之间的关系是一个复杂的政治与军事体系问题,其核心在于权力的合法性和制度性约束。虽然政府本身可能不直接持有武器,但通过法律、组织结构、意识形态和历史传统,政府能够有效指挥拥有武器的军队。以下是详细分析: 一、法律授权与国家主权1. 宪法与法律框架 政府的权力来源于国家宪法或法律。例如.............
  • 回答
    关于“传武就是杀人技”的说法,这一观点在历史、文化和社会语境中存在一定的误解和偏见。以下从历史、文化、现代演变和误解来源等多个角度进行详细分析: 一、历史背景:武术的原始功能与社会角色1. 自卫与生存需求 中国传统武术(传武)的起源与农耕社会、游牧民族的生存环境密切相关。在古代,武术的核心功.............
  • 回答
    关于近代历史人物是否能够“翻案”的问题,需要结合历史背景、人物行为对国家和民族的影响,以及历史评价的客观性进行分析。袁世凯和汪精卫作为中国近代史上的重要人物,其历史评价确实存在复杂性和争议性,但“不能翻案”的结论并非基于单一因素,而是综合历史、政治、道德等多方面考量的结果。以下从历史背景、人物行为、.............
  • 回答
    关于“俄爹”这一称呼,其来源和含义需要从多个角度分析,同时要明确其不尊重的性质,并指出如何正确回应。以下是详细解析和反驳思路: 一、称呼的来源与可能的含义1. 可能的字面拆解 “俄”是“俄罗斯”的拼音首字,而“爹”在中文中通常指父亲,带有亲昵或戏谑的意味。 若将两者结合,可能暗示.............
  • 回答
    民国时期(19121949)虽然仅持续约37年,却涌现出大量在文学、艺术、科学、政治、哲学等领域具有划时代意义的“大师级人物”。这一现象的出现,是多重历史、社会、文化因素共同作用的结果。以下从多个维度进行详细分析: 一、思想解放与文化启蒙的浪潮1. 新文化运动(19151923) 思想解放.............
  • 回答
    航空航天领域在待遇和职业环境上确实存在一定的挑战,但国家在该领域取得的飞速发展,主要源于多方面的国家战略、技术积累和系统性支持。以下从多个维度详细分析这一现象: 一、国家战略与长期投入:推动技术突破的核心动力1. 国家层面的战略目标 航空航天技术往往与国家的科技竞争力、国家安全和国际地位密切.............
  • 回答
    吴京作为中国知名演员、导演,近年来因《战狼2》《英雄联盟》等作品及个人生活引发公众关注,其形象和言论在不同语境下存在争议,导致部分人对其产生负面评价。以下从多个角度详细分析可能的原因: 1. 个人生活与公众形象的冲突 妻子被曝光:2018年,吴京妻子的近照和视频被网友扒出,引发舆论争议。部分人.............
  • 回答
    近年来,全球范围内对乌克兰的支持确实呈现出显著增加的趋势,这一现象涉及多重因素,包括国际局势、地缘政治博弈、信息传播、经济援助、民族主义情绪以及国际社会的集体反应。以下从多个角度详细分析这一现象的成因: 1. 俄乌战争的爆发与国际社会的集体反应 战争的爆发:2022年2月,俄罗斯对乌克兰发动全面入侵.............
  • 回答
    《是大臣》《是首相》等政治剧之所以能在编剧缺乏公务员经历的情况下取得成功,主要源于以下几个关键因素的综合作用: 1. 构建政治剧的底层逻辑:制度与权力的结构性认知 政治体制的系统性研究:编剧可能通过大量研究英国议会制度、政府运作流程、政党政治规则(如议会制、内阁制、党鞭系统等)来构建剧情。例如.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有