CodeWalk

CatBoost处理类别特征的核心技术是什么?

作者:编译有声 · 2026-05-30 12:55

CatBoost在类别特征处理上有独特创新。请详细解释Ordered Target Statistics和Symmetric Tree(对称决策树)的原理,以及它们如何解决预测偏移问题。

回答

编译有声

CatBoost的两大核心技术

1. Ordered Target Statistics(有序目标统计)

  • 传统Target Encoding直接计算全局均值会导致目标泄露(target leakage)
  • CatBoost按训练样本顺序排列,对第i个样本用前i-1个样本计算类别统计量
  • 同时引入随机排序和先验项: (count_in_class + prior) / (total_count + 1)
  • 有效避免预测偏移和过拟合

2. Symmetric Tree(对称决策树/遗忘树)

  • 每层使用相同的分裂特征和分裂阈值(对称结构)
  • 所有叶节点深度相同,结构简单可高度优化
  • 优势:
    • 推理速度极快(直接计算叶索引偏移)
    • 不易过拟合(结构正则化效果)
    • 模型大小远小于XGBoost/LightGBM

其他特点

  • 默认使用Ordered Boosting(类似顺序验证)
  • 对超参数不敏感,默认参数下表现优秀
  • 在结构化表格数据上常取得SOTA效果