2024-04-19 06:48:47 发布
网友
我已经知道“xgboost.XGBRegressor是XGBoost的Scikit学习包装器接口。”
xgboost.XGBRegressor
但他们还有什么不同吗?
^{}是一个低级的API,用于通过梯度增强方法训练模型。
xgboost.XGBRegressor和xgboost.XGBClassifier是准备DMatrix并传入相应目标函数和参数的包装器(Scikit Learn like wrappers,正如它们所称)。最后,fit调用简单地归结为:
xgboost.XGBClassifier
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)
这意味着可以用XGBRegressor和XGBClassifier完成的所有工作都可以通过底层的xgboost.train函数实现。另一方面,显然不是这样,例如,XGBModelAPI不支持xgboost.train的一些有用参数。显著差异清单包括:
XGBRegressor
XGBClassifier
xgboost.train
XGBModel
callbacks
xgb_model
^{} 是一个低级的API,用于通过梯度增强方法训练模型。
xgboost.XGBRegressor
和xgboost.XGBClassifier
是准备DMatrix
并传入相应目标函数和参数的包装器(Scikit Learn like wrappers,正如它们所称)。最后,fit
调用简单地归结为:这意味着可以用
XGBRegressor
和XGBClassifier
完成的所有工作都可以通过底层的xgboost.train
函数实现。另一方面,显然不是这样,例如,XGBModel
API不支持xgboost.train
的一些有用参数。显著差异清单包括:xgboost.train
允许设置每次迭代结束时应用的callbacks
。xgboost.train
允许通过xgb_model
参数继续训练。xgboost.train
不仅允许eval函数的最小化,还允许最大化。相关问题 更多 >
编程相关推荐