我对 XGBoost 的问题是,当我将训练数据集加载到 XGBoost DMatrix 中时,不可避免地会出现内存峰值,并且我无法在不先崩溃的情况下将数据集加载到 RAM 中。
我试图预测一段时间内的排名,类似于搜索引擎查询问题。XGBoost 使用成对目标产生了良好的结果,但由于内存峰值问题,我已经达到了极限。
我对 XGBoost 的问题是,当我将训练数据集加载到 XGBoost DMatrix 中时,不可避免地会出现内存峰值,并且我无法在不先崩溃的情况下将数据集加载到 RAM 中。
我试图预测一段时间内的排名,类似于搜索引擎查询问题。XGBoost 使用成对目标产生了良好的结果,但由于内存峰值问题,我已经达到了极限。
您要求替代方案 - 还可以考虑:LightGBM、CatBoost 或 RankLib。
你的数据集有多大?如果您在创建 DMatrix 时遇到内存问题,则其他库可能会遇到类似问题。
你从什么加载数据集?也许从 numpy 数组创建 DMatrix 是试图同时在内存中容纳两个数据副本?也许您可以将数据集分成更小的块并将它们附加到 DMatrix 以避免一次将它们全部放在内存中?