XGBClassifier: плохие прогнозы после обучения, сохранения и загрузки модели - PullRequest
0 голосов
/ 09 января 2020

Ниже показано, как я обучил 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

Любое предложение приветствуется.

...