← 返回题目列表

CART 分类树和回归树有什么区别?

高频 中等 第 13 / 25 题 更新于 2026/09/19
决策树CART信息增益剪枝

简化版

CART 的分类树通常用基尼不纯度选择划分,叶子输出类别概率或多数类;回归树通常用平方误差下降选择划分,叶子输出目标均值。两者都构造二叉树,核心差别在损失函数和叶子预测值。

详细版

  • 分类目标离散,候选切分比较加权 Gini;回归目标连续,比较左右节点的残差平方和。

  • 分类叶概率来自叶内各类频数,可再做平滑;回归叶值在平方损失下取均值最优。

  • CART 每次产生两个子节点,类别特征也会被划成两个集合。

  • 停止条件和代价复杂度剪枝框架可以共用,但评估指标不同。

  • 回归树不能外推超过训练叶值范围,分类树的叶频率也不天然等于校准概率。

完整版教学

一、同一棵二叉树,优化两种不同风险

CART 都采用贪心递归划分:枚举特征与阈值,选择即时损失下降最大的候选。

分类损失衡量类别混杂程度,回归损失衡量数值离散程度。

树结构相同不代表预测含义相同。

分类叶存类别分布,回归叶存一个常数;换用绝对误差时,回归叶的最优常数会从均值变为中位数。

二、数学机制怎么落到节点上

Gini(S) = 1 - sum_k p_k^2;SSE(S) = sum_i (y_i - mean(S))^2。

Gini(S) = 1 - sum_k p_k^2
SSE(S) = sum_i (y_i - mean(S))^2
gain = impurity(parent) - weighted_impurity(children)

三、带数字的推演

父节点有 6 个样本,标签 [0,0,0,1,1,1],Gini=0.5。

某切分得到 [0,0,0,1][1,1],加权 Gini=4/6×0.375+2/6×0=0.25,下降 0.25;回归任务则会对同一候选计算两边 SSE。

四、方法对比

方法/对象核心特点代价或限制
分类 CARTGini/交叉熵多数类或类频率
回归 CART平方/绝对误差均值或中位数
共同点贪心二叉切分可预剪枝和后剪枝

五、从训练到验证的执行链

根节点数据 -> 枚举特征/阈值 -> 计算损失下降 -> 选最佳二分
-> 递归生长 -> 满足停止条件 -> 叶子计算类别分布或回归常数

六、边界条件与工程代价

贪心最优不是全局最优:第一层稍差的切分可能通向更好的整棵树,但 CART 不会回溯搜索全部树结构。

剪枝通过验证风险补偿局部生长的过拟合。

类别不均衡时,多数类和普通 Gini 可能忽视少数类;回归有重尾异常值时,均值与平方损失也很敏感,需要权重、稳健损失或目标变换。

记忆钩子:把 CART 共性记为“贪心二分后剪枝”,差异记为“分类看纯度、回归看残差;分类叶存分布、回归叶存最优常数”。

七、常见误区与追问

  • 误区:分类树和回归树只是输出类型不同。 切分损失和叶值求解也不同。

  • 追问:为什么回归叶输出均值? 均值使该叶内平方误差的一阶导数为零。

  • 误区:CART 可以产生任意数量分支。 经典 CART 每次做二叉划分。

  • 追问:改用绝对误差时叶值是什么? 使绝对偏差最小的是中位数。

  • 追问:两类树都能剪枝吗? 可以,但验证风险要使用各自任务的损失或指标。

八、加强记忆

把 CART 共性记为“贪心二分后剪枝”,差异记为“分类看纯度、回归看残差;分类叶存分布、回归叶存最优常数”。

再补上贪心局限与异常数据边界,回答就完整。