理解一个非常简单的树的python XGBoost模型转储输出

数据挖掘 Python 分类 xgboost
2022-03-04 08:49:01

我试图了解 XGBoost 的模型转储输出。我想逐步了解模型是如何得出它的预测的。为了简化,我训练了一个具有 1 个树和 1 个最大深度的模型,并且正如预期的那样,所有记录都得到两个预测之一,因为它有一个拆分 - 值是 {0.5386398434638977, 0.5011891722679138}。但是,当我查看模型转储时,我看到以下内容

booster[0]:
0:[f40<70.5] yes=1,no=2,missing=1
    1:leaf=0.00475667231
    2:leaf=0.154868156

我不知道如何以一种对预测有意义的方式来解释这一点。我错过了什么?谢谢!

1个回答

叶子的分数衡量的是对数赔率,而不是概率。(对于更多的树,这些分数相加得出最终的对数赔率近似值,然后通过 sigmoid 得到概率近似值。)

确实,1/(1+e0.00475667)0.501189.