← 返回题目列表

类别不均衡时决策树会有什么问题?

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

简化版

类别不均衡时,决策树的多数类主导不纯度下降,少数类区域可能不分裂或形成很小、很不稳定的叶。可使用类别/样本权重、分层或分组验证、合适的叶约束与阈值调整,并以 PR-AUC、召回和业务成本评估。

详细版

  • 先区分样本比例与错误成本;少数类不一定代价更高,但常需要单独关注。

  • class_weight 改变切分评分,让少数类错误贡献更大。

  • 重采样应只在训练折内进行,避免合成或重复样本进入验证集。

  • 限制最小叶样本时要防止把稀少正例永远压在多数类叶中。

  • 准确率在 1% 正类任务中几乎无信息,应看 PR 曲线和成本。

完整版教学

一、少数类信号容易被平均掉

当正类只有 1%,一个全判负模型也有 99% 准确率。

普通纯度下降按样本占比加权,小规模正类区域带来的改善可能不足以战胜多数类的大切分。

加权把少数类样本在损失中的质量放大,使树愿意为它们建立规则;阈值调整则在树训练后改变召回—精确率权衡。

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

weighted class probability = sum(weight_i * 1[y_i=k]) / sum(weight_i);PR precision = TP/(TP+FP)。

weighted class probability = sum(weight_i * 1[y_i=k]) / sum(weight_i)
PR precision = TP/(TP+FP)
recall = TP/(TP+FN)

三、带数字的推演

10,000 个样本中 100 个正类。

全判负准确率 99%,召回率却为 0。

若模型找回 70 个正类并误报 140 个,召回 70%,精确率 70/(70+140)=33.3%,这比准确率更能描述效果。

四、方法对比

方法/对象核心特点代价或限制
Class weight训练时强调少数类可能牺牲校准
过/欠采样改变训练比例信息损失或过拟合
阈值调整灵活选操作点依赖概率/分数稳定

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

按主体分层划分 -> 训练折内加权/采样 -> 调树复杂度
-> 验证集画 PR/成本曲线 -> 选阈值 -> 原始分布测试集最终评估

六、边界条件与工程代价

极少正例时,普通分层 K 折仍可能每折只有几个样本,指标方差巨大。

可减少折数、重复交叉验证,并报告置信区间。

过采样改变类别先验,predict_proba 往往不再对应线上发生率。

需要概率校准或先验修正,尤其是概率直接参与金额决策时。

记忆钩子:先用“1% 正类、全判负仍 99%”拆掉准确率幻觉,再讲训练加权、折内采样和预测阈值三层手段。

七、常见误区与追问

  • 误区:99% 准确率说明不均衡任务做得很好。 全判多数类也可达到该数值,少数类召回可能为零。

  • 追问:class_weight 与过采样等价吗? 某些损失上近似,但树的随机采样和停止条件会造成差异。

  • 误区:先做 SMOTE 再划分数据。 合成点会把邻居信息泄漏到验证集。

  • 追问:为什么看 PR-AUC? 正类稀少时它更直接反映精确率与召回的权衡。

  • 追问:加权后概率还能直接用吗? 通常需在原始分布的独立数据上重新校准。

八、加强记忆

先用“1% 正类、全判负仍 99%”拆掉准确率幻觉,再讲训练加权、折内采样和预测阈值三层手段。

最后一定回到原始分布评估与概率校准。