资讯

CART 决策树是什么?既能分类也能回归的经典算法

2026-11-052 分钟阅读百科
TL;DR分类与回归树(CART)是 Leo Breiman、Jerome Friedman、Richard Olshen 和 Charles Stone 提出的决策树算法,1984 年以专著形式系统发表,通过递归地把数据二分来构建树,可用于分类和回归,是随机森林和梯度提升树的基础。

分类与回归树(Classification and Regression Trees,CART)是一种经典的决策树算法,既可以用于分类任务,也可以用于回归任务。它由加州大学伯克利分校的统计学家 Leo Breiman 和 Charles Stone,以及斯坦福大学的 Jerome H. Friedman 和 Richard Olshen 共同开发,相关研究始于 1970 年代,并在 1984 年以专著《分类与回归树》的形式系统发表。它被广泛应用于数据挖掘和机器学习领域。

决策树是什么

决策树就像一套层层递进的问答:比如判断一位客户会不会办理某项贷款,先问“年收入是否超过 20 万”,如果是,再问“是否有房贷”,如果否,再问“年龄是否小于 30 岁”……每个问题把数据分成两部分,一路问下去,最后到达一个“叶子”,给出预测结果。决策树的最大优点是直观、容易理解和解释:你可以清楚地看到模型是根据哪些条件做出判断的。

CART 怎么构建一棵树

CART 的核心是递归地把数据集分割成越来越小的子集。它总是做二分:每个节点只问一个“是”或“否”的问题,把数据分成两部分。在每个节点上,它会尝试所有可能的特征和所有可能的切分点,选出能让分割后的两部分“最纯净”的那一个。

对于分类任务,常用基尼不纯度来衡量纯净程度:如果一个子集里几乎全是同一个类别,它就很纯;如果各个类别混杂在一起,就不纯。对于回归任务,则用均方误差:分割后每个子集内的数值越接近,就越好。这个过程不断重复,直到子集足够纯净,或者满足停止条件。

剪枝

如果一直分下去,树会长得非常深,把训练数据中的每一个细节甚至噪声都记住,导致过拟合。CART 的一个重要贡献是代价复杂度剪枝:先让树充分生长,再从下往上剪掉那些对预测帮助不大的分支,在模型的复杂度和准确度之间找到平衡,通常通过交叉验证来选择最合适的剪枝程度。

影响

单棵决策树容易不稳定,数据稍有变化,树的结构就可能变化很大。但 CART 是很多强大的集成学习方法的基础:Breiman 后来提出的随机森林,是用大量 CART 树投票;Friedman 提出的梯度提升树,以及后来的 XGBoost、LightGBM,也都以 CART 回归树作为基本的学习器。在处理表格数据时,这些基于树的方法至今仍是最常用、效果出色的工具之一。