我不明白为什么我在贡献功能中有一个名为BIAS的功能。
我阅读了文档并找到了
"在每列中都有功能和重量。截距 (偏差)功能显示在同一表格中#34;
但我不明白这里有什么拦截偏见。
感谢您的帮助:)
答案 0 :(得分:2)
这与ELI5
计算权重的方式有关。
XGBoost
仅为树叶输出分数(您可以通过booster.dump_model(…, with_stats=True)
查看),因此XGBoost
中的ELI5
解释器实现开始为每个节点重建伪叶分数所有的树木。这些伪叶得分基本上是在此节点级别停止树时所期望的平均叶得分,因此所有子叶的平均值都由它们在训练集中的覆盖加权。
此算法也适用于树的根节点,这些树根类似地分配了伪叶分数。在根节点级别,此分数是您可能最终通过树的平均分数。对所有树进行求和,所有根节点得分的总和是您可能通过所有树的平均得分(将应用sigmoid转换为概率的树)。这是ELI5
放入<BIAS>
的内容。
因此,根据训练集的分布,您可以将<BIAS>
理解为模型的预期平均得分输出。
如果您修改<BIAS>
参数,base_score
会发生变化(例如,在二进制分类不平衡的情况下,您可以将默认0.5
更改为更接近目标费率的值,<BIAS>
应该更接近0
)。
编辑:也许这个博客的视觉解释更清晰(baseline
相当于<BIAS>
)https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211