【发布时间】:2017-09-27 05:34:06
【问题描述】:
在XGBoost guide的链接上:
训练完成后,模型就可以保存了。
bst.save_model('0001.model')模型及其特征图也可以转储到文本文件中。
# dump model bst.dump_model('dump.raw.txt') # dump model with feature map bst.dump_model('dump.raw.txt', 'featmap.txt')可以按如下方式加载保存的模型:
bst = xgb.Booster({'nthread': 4}) # init model bst.load_model('model.bin') # load data
我的问题如下。
-
save_model和dump_model有什么区别? - 保存
'0001.model'和'dump.raw.txt','featmap.txt'有什么区别? - 为什么加载
model.bin的模型名称与要保存的名称0001.model不同? - 假设我训练了两个模型:
model_A和model_B。我想保存这两个模型以备将来使用。我应该使用哪个save和load函数?您能帮忙展示一下清晰的流程吗?
【问题讨论】:
-
您已经问了很多问题,但如果您有兴趣可以查看
save_model、dump_model和load_model的代码:github.com/dmlc/xgboost/blob/master/python-package/xgboost/… -
如果您的 XGBoost 模型是使用 sklearn 包装器训练的,您仍然可以使用“bst.save_model()”保存模型并使用“bst = xgb.Booster().load_model()”加载它。当你使用'bst.predict(input)'时,你需要将你的输入转换成DMatrix。
-
我更多地使用
joblibs。相关讨论见pickle vs joblibs和sklearn guide for saving model
标签: python machine-learning save xgboost