xgboost:base_score参数的含义

rf7*_*rf7 11 parameters xgboost

在xgboost的文档中,我读到:

base_score [default = 0.5]:所有实例的初始预测分数,全局偏差

这句话是什么意思?基准分数是数据集中感兴趣事件的先验概率吗?即在一个包含300个阳性和700个阴性的1,000个观测数据集中,基本得分为0.3?

如果没有,它会是什么?

您的建议将不胜感激.

小智 8

我认为您的理解是正确的,在您的示例中,基本分数可以设置为0.3,或者您可以简单地将其保留为默认值0.5.对于高度不平衡的数据,您可以将其初始化为更有意义的基本分数,以改善学习过程.从理论上讲,只要您选择正确的学习率并给予足够的训练步骤,起始基础分数不应影响结果.看看作者在这个问题上的答案.

参考:https://github.com/dmlc/xgboost/issues/799

  • 您的答案仅适用于两类(二元)情况,这对于多类没有任何意义。请参阅他们链接到的关于等效的[多类#1380中的base_margin默认值](https://github.com/dmlc/xgboost/issues/1380)的讨论,其中xgboost(2017年之前)用于做出默认假设base_score = 1/nclasses,如果存在类不平衡,这是先验的,但他们说“如果你使用足够的训练步骤,这个问题就会消失”,这对于数据探索中的开箱即用性能不利,等等。无论如何,他们在 2017 年修复了这个问题。 (2认同)