eli5 解释预测 XGBoost 模型

eli5 explaining prediction XGBoost model

我不明白为什么我在贡献的功能中有一个名为 BIAS 的功能。

我阅读了文档并找到了

" In each column there are features and their weights. Intercept (bias) feature is shown as in the same table "

但是我不明白这里的拦截偏差是什么意思。

感谢您的帮助:)

这与ELI5计算权重的方式有关。

XGBoost 仅为叶子输出分数(您可以通过 booster.dump_model(…, with_stats=True) 查看),因此 XGBoost 解释器实现 ELI5 开始为每个叶子重建伪叶子分数跨所有树的节点。这些伪叶子分数基本上是您在该节点级别停止树时期望的平均叶子分数,因此是训练集中所有子叶子按其覆盖层加权的平均值。

该算法也适用于树的根节点,它们同样被赋予伪叶分数。在根节点级别,这个分数是您可能最终通过树的平均分数。所有树的总和,所有根节点分数的总和是您可能通过所有树(将应用 sigmoid 转换为概率的树)的平均分数。这就是 ELI5 放入 <BIAS> 的内容。

所以你可以将<BIAS>理解为模型根据训练集的分布输出的预期平均分。

如果您修改 base_score 参数,<BIAS> 将会改变(例如,在不平衡二元分类的情况下,您可以将默认值 0.5 更改为更接近您的参数目标率,<BIAS> 应该更接近 0)。

编辑:也许这个博客的视觉解释更清楚(baseline 等同于 <BIAS>https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211