Я преобразовал свои данные между 0 и 1 и передал их через LSTM NN. Результаты также остаются в диапазоне от 0 до 1, и для получения правильного результата мне нужно преобразовать его обратно, как это было с моими исходными значениями данных.
Но
scaler=MinMaxScaler(feature_range=(0,1))
scaler.inverse_transform(result)
выдает ошибку. Мой код, как показано ниже. Здесь я загрузил сохраненные данные, целевые и обученные веса LSTM.
import numpy as np
data=np.load('data_2.npy')
target=np.load('target_2.npy')
train_data=data[:120]
train_target=target[:120]
test_data=data[120:]
test_target=target[120:]
from keras.models import Sequential
from keras.layers import LSTM,Dense,Dropout
model=Sequential()
model.add(LSTM(units=172,return_sequences=True,input_shape=(data.shape[1:])))
model.add(Dropout(0.2))
model.add(LSTM(units=940,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=2510,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=50,return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(units=1,activation='linear'))
model.compile(loss='mse',optimizer='adam',metrics=['accuracy'])
model.load_weights('AirlineLSTMweights.h5')
result=model.predict(test_data)
print(result)
scaler=MinMaxScaler(feature_range=(0,1))
scaler.inverse_transform(result)
NotFicedError: Этот экземпляр MinMaxScaler еще не установлен. Перед использованием этого метода вызовите 'fit' с соответствующими аргументами.
Кто-нибудь может мне помочь, пожалуйста?
my print(results) = [[0.6232013 ]
[0.67273337]
[0.7892405 ]