Прогнозирование временных рядов: мои данные содержат категориальные значения и для прогнозирования следующего значения.Категориальные значения преобразуются в одно значение горячего кодирования с использованием керас.
[[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
...
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]]
Форма закодированных значений:
(824,8734)
Данные содержат 1 выборку с 824 шагами по времени для прогнозирования следующегошаг по времени.
n_steps=3
n_features=1
Какая форма ввода для LSTM?
I tried
X.shape = (824, 8734, 3, 1)
y.shape=(824,8734)
model = Sequential()
model.add(LSTM(50, activation='relu', input_shape=(n_steps, n_features)))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mse')
# fit model
model.fit(X, y, epochs=20, verbose=0)
ValueError: Input 0 is incompatible with layer lstm_3: expected ndim=3, found ndim=4