Нормализация наборов данных - PullRequest
0 голосов
/ 07 июня 2019

Я пытался использовать MinMaxScaller (из sklearn.preprocessing) для нормализации тренировочных данных.Затем создал обученный файл и сохранил его как «XXX.h5».

Я попытался создать прогностическую программу, которая могла бы прочитать «XXX.h5» и использовать обученную модель.Мне нужно масштабировать входные данные, а затем обратно масштабировать выходные данные.

Есть ли способ не использовать обучающие данные снова для масштабирования входных данных?

  1. Мне нужноеще раз прочитайте учебный файл, чтобы получить шкалу:
df=pd.read_excel('data.xls')
x=np.array(df['x'])
y=np.array(df['y'])
x_scaler=MinMaxScaler()
y_scaler=MinMaxScaler()

x=x_scaler.fit_transform(x)
y=y_scaler.fit_transform(y)
Затем масштабируйте ввод 'x', чтобы сделать прогноз:
preds= model.predict(x_scaler.transform(input_x))          
Обратный масштаб для получения выходных данных:
preds=y_scaler.inverse_transform( preds)   

Исходя из вышеизложенного, мне всегда будут нужны данные обучения, даже если мне не нужно тренировать модель.Это правда?

1 Ответ

0 голосов
/ 07 июня 2019

Возможный способ сделать это - сохранить параметры Скалера.

Sklearns MinMaxScaler имеет два метода .getparams и .setparams, с помощью которых вы сможете получить параметры, сохранить их, перезагрузить их и использовать их для настройки скейлера.

Это потребует сохранения и загрузки дополнительного файла, но может быть предпочтительнее в случае больших размеров выборки.

...