为什么xgboost(python)可以有负面预测,但xgboost(R)没有负面预测?

时间:2019-12-12 16:55:10

标签: python r compare xgboost

我使用python和 XGB.train 进行回归,训练数据中没有负y ,但预测结果为负;我的同事在R中执行类似的过程,并且没有负面预测。 我们都使用'count:poisson'作为目标函数。

1这个“ count:poisson”应该有能力避免负面预测吗?

2有人可以分享一些想法或解释吗,这种负面的预测是否合理?

3 Python vs R,为什么Python具有否定预测但R没有?

4如何避免负面预测?

这是我的代码: params1 = { 'objective':'count:poisson', 'eta':0.1, 'max_depth':6, 'min_child_weight':100, '伽玛':0.2, “子样本”:0.8, 'colsample_bytree':1, 'reg_alpha':0, 'reg_lambda':1, '种子':42 }
xgb_reg_final = xgb.train(params1,dtrain_split,num_boost_round = num_round,evals =监视列表,early_stopping_rounds = 15,evals_result = eval_dict,verbose_eval = 25)

当我调整参数时,生成最佳性能模型的最佳树数也会导致负面预测,但是如果我提早停止迭代并限制模型仅使用较少的树数,则均方根会变差,但预测变为非阴性。 那么如何让模型知道我们想要非负预测。

感谢所有帮助!

0 个答案:

没有答案