XG列车与XGBClassFi相比

2024-10-01 09:37:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python来增量地(逐块地)适应xgboost模型。我遇到了一个解决方案XG列车但我不知道如何处理它返回的Booster对象。例如,xgb分类器有fit、predict、predict_proba等选项

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

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")

Tags: 模型modelparamtrain解决方案predict增量booster
2条回答

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

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

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

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

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

clf = xgb.XGBClassifier(**params)
clf.fit(X, y, xgb_model=your_model)

参见documentation here。在每次迭代中,您都必须使用类似clf.get_booster().save_model(xxx)之类的方法来保存提升程序。在

PS我希望你可以分批学习,即分块学习,而不是逐行学习,也就是一个一个示例地学习,因为这会导致每次写/读模型时性能下降

相关问题 更多 >