Python 的 XGBRegressor 与 R 的 XGBoost
Python's XGBRegressor vs R's XGBoost
我在同一数据集上使用具有相同参数的 python 的 XGBRegressor 和 R 的 xgb.train,但我得到了不同的预测。
我知道 XGBRegressor 使用 'gbtree' 并且我已经在 R 中进行了适当的比较,但是,我仍然得到不同的结果。
谁能指导我如何区分 2 and/or 找到 R 与 python 的 XGBRegressor 的等价物?
抱歉,如果这是一个愚蠢的问题,谢谢。
由于 XGBoost 在幕后使用决策树,因此如果您不修复随机种子,那么拟合过程会变得确定性,因此拟合之间的结果可能会略有不同。
您可以通过 R 中的 set.seed
和 Python 中的 numpy.random.seed
来执行此操作。
注意到 Gregor 的评论,您可能希望将 nthread
参数设置为 1 以实现完全确定性。
我在同一数据集上使用具有相同参数的 python 的 XGBRegressor 和 R 的 xgb.train,但我得到了不同的预测。
我知道 XGBRegressor 使用 'gbtree' 并且我已经在 R 中进行了适当的比较,但是,我仍然得到不同的结果。
谁能指导我如何区分 2 and/or 找到 R 与 python 的 XGBRegressor 的等价物?
抱歉,如果这是一个愚蠢的问题,谢谢。
由于 XGBoost 在幕后使用决策树,因此如果您不修复随机种子,那么拟合过程会变得确定性,因此拟合之间的结果可能会略有不同。
您可以通过 R 中的 set.seed
和 Python 中的 numpy.random.seed
来执行此操作。
注意到 Gregor 的评论,您可能希望将 nthread
参数设置为 1 以实现完全确定性。