Мне нужна помощь с моей архитектурой Keras nn для прогнозирования цен.
РЕДАКТИРОВАТЬ
Вот как я масштабирую и упорядочиваю свои данные:
history - это список цен во время просмотра, в моем примере 60 * 24 на весь день.
for i in range(1, len(history), self.timesteps):
prices_x.append(list(history[i:i + self.timesteps]))
for i in range(0, len(history) - 1, self.timesteps):
prices_y.append(list(history[i:i + self.timesteps]))
#First Feed the lookback History
x_data = np.array(prices_x)
y_data = np.array(prices_y)
x_data = self.scaler.fit_transform(x_data)
y_data = self.scaler.fit_transform(y_data)
# reshape input to be [samples, time steps, features]
x_data = np.reshape(x_data, (x_data.shape[0], x_data.shape[1], 1))
y_data = np.reshape(y_data, (y_data.shape[0], y_data.shape[1], 1))
На данный момент это мой lstm (упрощенно):
self._opt_cells = 1
self.model = Sequential()
self.model.add(LSTM(units = self._opt_cells, return_sequences = False, input_shape = (self.input_cells, 1)))
self.model.add(Dense(1)) #, activation='linear'))
adam = Adam(clipnorm=1.)
self.model.compile(loss='mean_squared_error', optimizer=adam, metrics=['accuracy'])
Форма моего поезда похожа на (1440, 60, 1) (num_features, timesteps, feature)
Затем возникает следующая ошибка:
ValueError: ошибка при проверке цели: ожидается, что плотность_1 имеет 2 измерения, но получен массив с формой (1440, 60, 1). Значение ошибки: ошибка при проверке цели: ожидал, что плотность_1 имеет 2 измерения, но получил массив с формой (1440, 60, 1)
Почему LSTM возвращает последовательность с возвращаемым значением false_sequence?
Что я делаю неправильно ?!