Я хочу создать модель lstm для классификации сигналов.
Допустим, у меня есть 1000 файлов сигналов.Каждый файл содержит матрицу формы (500, 5), что означает, что в каждом файле у меня есть 5 объектов (столбцов) и 500 строк.
0 1 2 3 4
0 5 5.3 2.3 4.2 2.2
... ... ... ... ... ...
499 2500 1.2 7.4 6.7 8.6
Для каждого файла есть один выход, который представляет собойлогическое (верно или неверно).форма (1,)
Я создал базу данных, данные с формой (1000, 5, 500), а целевой вектор имеет форму (1000, 1).
ЗатемЯ разделяю данные (X_train, X_test, y_train, y_test).
Можно ли передать такую матрицу в модель lstm?Потому что у меня очень плохая работа.Из того, что я видел, люди дают только 1D или 2D данные, и они изменяют свои данные после того, как дают 3D ввод для слоя lstm.
Код с lstm выглядит следующим образом:
input_shape=(X_train.shape[1], X_train.shape[2]) #(5,500), i.e timesteps and features
model = Sequential()
model.add(LSTM(20, return_sequences=True))
model.add(LSTM(20))
model.add(Dense(1))
model.compile(loss='mae', optimizer='adam')
Я изменил количество ячеек в слое LSTM и количество слоев, но результат в основном одинаков (0,19).Нормально ли иметь такой плохой счет в моем случае?Есть ли лучший способ пойти?
Спасибо