Python的XGBRegressor和R的XGBoost

时间:2017-03-15 20:24:39

标签: python r machine-learning scikit-learn xgboost

我在同一个数据集中使用python的XGBRegressor和R的xgb.train具有相同的参数,并且我得到了不同的预测。

我知道XGBRegressor使用' gbtree'我在R中做了适当的比较,但是,我仍然得到不同的结果。

任何人都可以指导我如何区分2和/或找到R与Gthon的XGBRegressor等价吗?

很抱歉,如果这是一个愚蠢的问题,谢谢。

1 个答案:

答案 0 :(得分:1)

由于XGBoost使用了决策树,如果你不修复随机种子,那么它可以在拟合之间给出略微不同的结果,因此拟合过程变得具有确定性。

您可以通过R中的set.seed和Python中的numpy.random.seed来完成此操作。

注意到Gregor的评论,您可能希望将nthread参数设置为1以实现完全确定性。