我使用python的XGBRegressor和R的xgb.train,在相同的数据集中具有相同的参数,并且得到不同的预测。
我知道XGBRegressor使用'gbtree‘,我在R中做了适当的比较,但是,我仍然得到了不同的结果。
在如何区分2和/或找到R与python的XGBRegressor的等价性方面,有人能引导我朝正确的方向前进吗?
抱歉,如果这是个愚蠢的问题,谢谢。
发布于 2017-03-15 21:52:07
由于XGBoost在引擎盖下使用决策树,所以如果不修复随机种子,那么拟合过程就会具有确定性。
您可以通过R中的set.seed和Python中的numpy.random.seed来实现这一点。
注意Gregor的注释,您可能希望将nthread参数设置为1,以实现完全的确定性。
https://stackoverflow.com/questions/42819987
复制相似问题