树模型为什么能给出特征重要性?

算法工程师第 12 / 15 题答题框架
参考思路:基于分裂增益/覆盖次数的累计→两类指标区别(gain/split)→偏态问题(高基数特征虚高)→与 SHAP 的互补。

五个经典回答示范

回答一 · 思路口述版

「树模型的特征重要性有两种口径:gain——该特征在所有分裂中带来的损失下降总和,split——被选为分裂特征的次数。gain 反映贡献量,split 反映使用频率但偏向高基数特征。局限是只看单棵树的分裂统计,相关性特征间会互相稀释。所以我会用 SHAP 补充——它有博弈论基础,能看单样本级别的归因。」

回答二 · 1-3年经验版

我在风控项目里同时输出三种重要性交叉验证:XGBoost 的 gain 排序给整体认知;permutation importance 打乱特征看性能掉多少——不依赖模型内部统计、对泄漏更敏感,曾靠它发现一个『审批结果』字段混进了入模特征;SHAP summary 看方向性与非线性。三者结论矛盾时优先怀疑数据问题而不是模型。

回答三 · 资深版

资深答法先讲机制再讲陷阱:分裂选择时特征重要性统计有偏——候选分裂多的特征(连续值、高基数类别)天然更容易被选中,所以不能跨特征类型直接比大小;SHAP 的三个性质(有效性、缺失性、一致性)与 TreeSHAP 的多项式复杂度使其可规模化。最后落到应用:重要性用于特征筛选与沟通,因果解释要谨慎——重要性高不等于因果,需结合业务验证。

回答四 · 追问应对

追问「SHAP 值怎么读」:单样本 SHAP 是各特征对该预测偏离基准的贡献,加和等于预测与基准之差;「相关性特征 SHAP 会怎样」:贡献在相关特征间分摊,单看一个会低估;「重要性做特征筛选的风险」:可能删掉与强特征相关但业务必需的变量,筛选要结合稳定性与合规。

回答五 · 反面示范

「feature importance 就是模型告诉哪些特征重要,取 top 的就是关键因素,直接按它写结论报告给业务方。」——点评:不了解统计口径与偏差,高基数特征虚高这种经典坑没意识;把关联当因果直接出结论,在金融医疗场景是要出事故的。

怎么练这道题
  1. 打开 模拟练习,选择「算法工程师」方向,限时 3 分钟作答本题。
  2. 对照上方答题框架,逐点检查:哪些要素没覆盖、哪里表达啰嗦。
  3. 用自己项目的真实经历替换框架中的占位内容,重讲一遍并录音回听。

这类题在真实面试中常被追问细节,
建议进入限时模式练一遍。

开始限时演练