解释 XGB 特征重要性和 SHAP 值

lea*_*101 5 classification machine-learning xgboost data-science shap

对于特定的预测问题,我观察到某个变量在生成的 XGBoost 特征重要性(基于增益)中排名较高,而在 SHAP 输出中排名相当低。

这该如何解释呢?例如,变量对于我们的预测问题是否非常重要?

dx2*_*-66 9

基于杂质的重要性(例如 sklearn 和 xgboost 内置例程)总结了树节点对特征的总体使用情况。这自然会给高基数特征更多的权重(更多的特征值产生更多可能的分裂),而增益可能会受到树结构的影响(即使预测可能相同,节点顺序也很重要)。可能有很多分裂对预测影响不大,或者相反(许多分裂稀释了平均重要性) - 请参阅https://towardsdatascience.com/interpretable-machine-learning-with-xgboost-9ec80d148d27https:// /www.actuaries.digital/2019/06/18/analytics-snippet-feature-importance-and-the-shap-approach-to-machine-learning-models/了解各种不匹配示例。

以一种过于简单化的方式:

  • 杂质基重要性解释了在训练集上泛化的特征用法;
  • 排列重要性解释了特征对模型精度的贡献;
  • SHAP 解释了改变特征值会对预测产生多大影响(不一定正确)。