首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xgboost.train对XGBClassifier

xgboost.train对XGBClassifier
EN

Stack Overflow用户
提问于 2018-05-03 20:30:15
回答 2查看 10.2K关注 0票数 7

我正在使用python来逐步适应xgboost模型(逐块)。我遇到了一个使用xgboost.train的解决方案,但是我不知道如何处理它返回的Booster对象。例如,XGBClassifier有诸如fit、predict、predict_proba等选项。

下面是我一点一点地在数据中读取的for循环中发生的情况:

代码语言:javascript
复制
dtrain=xgb.DMatrix(X_train, label=y)
param = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic'}
modelXG=xgb.train(param,dtrain,xgb_model='xgbmodel')
modelXG.save_model("xgbmodel")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-04 07:11:48

XGBClassifier是一个与scikit-learn兼容的类,可以与其他scikit学习实用程序一起使用。

除此之外,它只是xgb.train的一个包装器,在这个包装中,您不需要提供高级对象,比如Booster等等。

只需将数据发送到fit()predict()等,内部就会自动转换为适当的对象。

票数 8
EN

Stack Overflow用户

发布于 2018-05-04 07:08:13

我不完全确定你的问题是什么。xgb.XGBMClassifier.fit()在幕后调用xgb.train(),所以这是一个匹配相关函数的参数的问题。

如果您对如何实现您心中的学习感兴趣,那么您可以这样做。

代码语言:javascript
复制
clf = xgb.XGBClassifier(**params)
clf.fit(X, y, xgb_model=your_model)

这里的文件。在每次迭代中,您都必须使用类似于clf.get_booster().save_model(xxx)的东西来保存助推器。

我希望你在小批次中学习,也就是小块,而不是一行行,即逐例学习,因为每次写/读模型会导致性能下降。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50163393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档