gpt4 book ai didi

python - xgb.train 和 xgb.XGBRegressor(或 xgb.XGBClassifier)有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 17:59:08 46 4
gpt4 key购买 nike

我已经知道“xgboost.XGBRegressor 是 XGBoost 的 Scikit-Learn Wrapper 接口(interface)。”

但是它们还有什么不同吗?

最佳答案

xgboost.train是通过梯度提升方法训练模型的低级 API。

xgboost.XGBRegressorxgboost.XGBClassifier 是包装器(Scikit-Learn 类包装器,正如他们所说) DMatrix 并传入相应的目标函数和参数。最后,fit 调用简单地归结为:

self._Booster = train(params, dmatrix,
self.n_estimators, evals=evals,
early_stopping_rounds=early_stopping_rounds,
evals_result=evals_result, obj=obj, feval=feval,
verbose_eval=verbose)

这意味着 XGBRegressorXGBClassifier 可以完成的一切都可以通过底层 xgboost.train 完成功能。反过来显然是不正确的,例如,XGBModel API 不支持 xgboost.train 的一些有用参数。显着差异列表包括:

  • xgboost.train 允许设置在每次迭代结束时应用的回调
  • xgboost.train 允许通过 xgb_model 参数继续训练。
  • xgboost.train 不仅允许 eval 函数的最小化,还允许最大化。

关于python - xgb.train 和 xgb.XGBRegressor(或 xgb.XGBClassifier)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47152610/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com