为什么用直方图树方法构建的XGBoost BDT模型取决于训练数据排序?

发布于 2025-01-30 11:45:09 字数 327 浏览 4 评论 0原文

我正在使用Python Xgboost在某些数据(总共50K)上训练某些模型(具有二进制逻辑),并且我使用了训练的直方图树方法(tree_method =“ hist”)。我整理了数据中的事件,并将它们用于培训。事实证明,根据事件的顺序,构建的模型略有不同,并且基于相应的验证集(与训练集不同)的相应预测的结果可能会有所不同5%。作为双检查,我还使用了LightGBM,并且还提出了这种效果。看来这是直方图方法的问题,因为如果我在xgboost中使用确切的方法(tree_method =“ extcres”),那么此问题就会消失。

有人知道为什么基于直方图方法的BDT模型取决于事件顺序吗? 我试图寻找参考纸,但完全丢失了。

I was using Python xgboost to train some models (with binary logistic) on some data (50k in total) and I used the histogram tree method for the training (tree_method="hist"). I shuffled the events in the data and used them for the training. It turned out that the models built are slightly different depending on the order of events and some result based on the corresponding prediction on validation set (different than training set) could vary up to 5%. As a double check I also used the lightgbm and this effect is also presented. It seems that this is a problem of histogram method because if I use the exact method in xgboost (tree_method="exact") then this problem disappears.

Does anyone know why the bdt model based on histogram method depends on the event order?
I tried to look for the reference paper but was totally lost.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文