Как сохранить информацию о масштабировании тренировочных данных для модели keras? - PullRequest
0 голосов
/ 14 января 2020

Я использую кераты с бэкэндом тензорного потока для работы с данными временных рядов с использованием LSTM. Данные, которые я использовал ранее для обучения модели, были в первую очередь нормализованы с использованием стандартного скейлера sklearn. Я знаю среднее и стандартное значение из стандартного скейлера следующим образом:

print(sc, sc.scale_, sc.mean_, sc.var_)
StandardScaler(copy=True, with_mean=True, with_std=True) [0.13720201] [18.06763044] [0.01882439]

Я могу вручную денормализовать предсказанные значения, как только у меня будет обучающий набор. Но после того, как я сохранил модель, ее файл HDF5 не содержит никакой информации о преобразовании обучающих данных (очевидно!).

Итак, как мне сохранить эти стандартные скалярные факторы в моделях, чтобы выходные данные по-прежнему денормализовались когда я получаю его из файла модели загрузки в другом месте, где у меня нет фактических данных обучения?

Я попытался вручную вставить стандартные скалярные значения в файл HDF5, но модель не загружается. Это просто обходной путь, о котором я думал! В идеальном случае модель справится с нормализацией и денормализацией сама по себе. Таким образом, он принимает денормализованные входные данные, нормализует их внутренне, затем прогнозирует нормализованный выходной сигнал и денормализует его, используя информацию нормализации входных данных. Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...