XGBClassifier:训练、保存和加载模型后的糟糕预测



以下是我如何训练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 进程不同的 python 进程中加载的,则预测是不正常的(随机(。

请注意,如果使用model.save_modelmodel.load_model而不是泡菜,我也有同样的问题。

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

蟒蛇版本:3.7.5

xgboost 版本:尝试了 0.80 和 0.90

任何建议不胜感激。

就我而言,我在预测导致不同性能时更改了列顺序。训练数据和预测数据的列顺序必须相同

相关内容

  • 没有找到相关文章

最新更新