2

下面是我如何训练 XGBClassifier 并保存它:

import pickle
from xgboost import XGBClassifier

# train
model = XGBClassifier()
model.fit(X, y)

# export
pickle.dump(model, open('model.pickle', 'wb'))

这就是我加载模型并进行预测的方式

loaded_model = pickle.load(open('model.pickle', 'rb'))
y_pred = loaded_model.predict(X)

如果模型是从执行训练的同一 python 进程中加载​​的,则模型预测是好的,但如果模型是从与用于训练的不同的 python 进程加载的,则预测不正确(随机)。

model.save_model请注意,如果使用和model.load_model代替泡菜,我也会遇到同样的问题。

我所做的简单检查表明模型已正确保存和加载;model._Booster(通过获得)的转储model._Booster.dump_model(some_file)loaded_model._Booster是相同的。

Python版本:3.7.5

xgboost 版本:尝试了 0.80 和 0.90

任何建议表示赞赏。

4

0 回答 0