我正在研究死亡率预测(二进制结局)问题,其中“基本死亡率概率”是我对XGboost问题的补偿。 我已经使用了gbtree booster和binary:logistic目标函数。在我的数据数据中,我有多个观测值/记录,它们的X值相同,但偏移值不同。
根据我的理解(如果错误,请纠正我),binary:logistic设置下的XGBoost尝试拟合以下表示形式的模型。 log(p / 1-p)=偏移量+ F(x)使用具有不同X值的拆分对F(x)进行优化(针对特定损失函数)。
因此,当X值完全相同时,要获得F(x),我可以使用预测的输出(带有outputmargin = True选项)并从此处减去偏移量。但是,当我得到输出时,通过上述方法得到的结果是,对于同一个集合X我得到了不同的值F(X)。我相信XGBoost内部处理偏移的方式与我的理解不同。谁能向我解释这种处理偏移的方法/数学公式。
我特别想通过从偏移值调整模型预测来提取F(x)的值(因为这是模型提供的附加信息)。
以下是示例代码:
Output table
id | shopName | itemName
------------------------
1 | Shop 1 | JRC
2 | Shop 1 | sukhoy