Как загруженная модель LGBM может давать разные прогнозы на разных машинах? - PullRequest
0 голосов
/ 27 марта 2019

Я ранее сохранил модель LGBM с pickle. Программа берет контент с данной веб-страницы, затем классифицирует его.

Загруженная модель хорошо работает на моих локальных компьютерах (настольный компьютер и ноутбук). Но он дает бессмысленные прогнозы, когда работает на экземпляре EC2. Какая проблема может вызвать это?

  • Модели на трех машинах одинаковы (настольный компьютер, ноутбук и EC2)
  • Входные данные модели (после шагов предварительной обработки) совпадают
  • Коды совпадают (клонировано Git)
  • Предсказания имеют смысл на локальных машинах
  • numpy, scikit-learn и другие версии пакетов одинаковы на всех трех машинах

Я загружаю модель:

self.mapper = pickle.load(open(model_path + "mapper.pkl", "rb"))
self.model = pickle.load(open(model_path + "model.pkl", "rb"))

И делать прогнозы, если вам интересно (извините за грязный код, эта часть не была написана мной):

data = self.pipeline.transform([{"url_name": url}])
df = pd.DataFrame({"text": [data]})

processed = self.mapper.transform(df)
processed = [a[0] for a in processed]

ws_results = OrderedDict()
for p1, p2 in sorted(zip(self.classes, self.model.predict_proba(processed).tolist()[0]), reverse=True, key=lambda x: x[1])[:3]:
            ws_results[p1] = round(p2, 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...