我正在使用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")
XGBClassifier
是一个scikit-learn
兼容的类,可以与其他scikit学习实用程序一起使用。在除此之外,它只是
xgb.train
上的一个包装器,在这个包装器中,您不需要提供诸如Booster
等高级对象只需将数据发送到
fit()
、predict()
等,然后在内部它将自动转换为适当的对象。在我不太清楚你的问题是什么。
xgb.XGBMClassifier.fit()
在幕后调用xgb.train()
,所以这是一个匹配相关函数的参数的问题。在如果你对如何实现你心中的学习感兴趣,那么你可以做
参见documentation here。在每次迭代中,您都必须使用类似
clf.get_booster().save_model(xxx)
之类的方法来保存提升程序。在PS我希望你可以分批学习,即分块学习,而不是逐行学习,也就是一个一个示例地学习,因为这会导致每次写/读模型时性能下降
相关问题 更多 >
编程相关推荐