我正在使用python逐步拟合xgboost模型(逐块).我遇到了一个使用xgboost.train的解决方案,但我不知道该如何处理它返回的Booster对象.例如,XGBClassifier具有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-learn实用程序结合使用.
除此之外,它只是xgb.train的包装器,您无需在其中提供Booster等高级对象.
只需将您的数据发送到fit(),predict()等,并在内部将其自动转换为适当的对象.