Имею 2 csv файлв с кучей цифр по 3413 строк каждый.
Входных данных 4606 в ряд.
Выходных 20.
Пытаюсь прогнать их через LSTM. И ничего у меня не выходит на моменте запуска. Пробовал многое, но ничего не дало результата. Может кто-то скажет с высоты опыта где моя ошибка и в чём.
Код:
from keras.layers import Dense
from keras.layers import LSTM
from keras.layers import Dropout
path = r"bigData.csv"
tdt_x = pd.read_csv(path) # training data temp для x
tdt_x.head()
path = r"bigDataReturn.csv"
tdt_y = pd.read_csv(path) # training data temp для y
tdt_y.head()
sc = MinMaxScaler(feature_range = (0, 1))
tdt_xSC = sc.fit_transform(tdt_x)
tdt_ySC = sc.fit_transform(tdt_y[['w_1', 'w_2', 'w_3', 'w_4', 'w_5',
'w_6', 'w_7', 'w_8', 'w_9', 'w_10',
'h_1', 'h_2', 'h_3', 'h_4', 'h_5',
'h_6', 'h_7', 'h_8', 'h_9', 'h_10']])
tdt_xx = []
tdt_yy = []
tdt_xx.append(tdt_xSC)
tdt_yy.append(tdt_ySC)
training_data = np.array(tdt_xx)
correct_data = np.array(tdt_yy)
training_data = training_data.reshape(3413, 4606)
correct_data = correct_data.reshape(3413, 20)
print(training_data.shape[1])
test_fit_data = tf.data.Dataset.from_tensor_slices((training_data, correct_data))
regressor = Sequential()
regressor.add(LSTM(units = 50, return_sequences = True, input_shape = (3413, 4606)))
regressor.add(Dropout(0.2))
regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(0.25))
regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(0.25))
regressor.add(LSTM(units = 50))
regressor.add(Dropout(0.25))
regressor.add(Dense(units = 1))
regressor.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy', metrics=['accuracy'])
regressor.summary()
regressor.fit(test_fit_data, epochs = 100, batch_size = 32)
regressor.summary()
Получаю ошибку:
ValueError: Input 0 of layer sequential is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: (4606, 1)