Как выбрать данные поезда для обучения сети LSTM - PullRequest
0 голосов
/ 21 апреля 2020

Я в основном новичок в RNN, но я пытаюсь предсказать сигналы на основе записей. У меня есть два набора данных A и B - A - это запись необработанных данных, а B - двоичный код с пометкой «1» для каждого активного события на A, оба с формой (1895700,1)

Could Вы помогаете мне выяснить, что следует использовать в качестве поезда x и y?

Я читал об этом и понял l oop через A и извлек x и y отсюда. сделал это и получил входную форму x_train - (189555, 150, 1) y_train - (189555, 150, 1), но получил точность: 0,0000e + 00 и отрицательные потери.

Мой другой подход использовал A как x_train и B как y_train с входными формами (12638,150,1), но с первого шага эпохи 1, имели точность: 96 и около .10 потерь. они не сильно менялись на протяжении обучения

Так что я не совсем уверен, какие данные должны быть в моих вводах

модель:

model = Sequential()
model.add(LSTM(128, dropout=0.5, input_shape=(ts,features), recurrent_dropout=0.4, return_sequences=True))
model.add(LSTM(128, dropout=0.5, input_shape=(ts,features), recurrent_dropout=0.3, return_sequences=True))
model.add(LSTM(64, dropout=0.5, input_shape=(ts,features), recurrent_dropout=0.3, return_sequences=True))
model.add(Dense(features, input_shape=(ts, features), activation="sigmoid"))
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])

Заранее спасибо!

1 Ответ

0 голосов
/ 21 апреля 2020

Ваш X_train - это данные, которые представляют ваши функции. В то время как Y_train - это данные, представляющие выходные данные для функций X_train.

вы можете разделить ваши данные, просто предоставив параметр validation_split для функции подгонки:

model.fit(X_data, Y_data, batch_size=4, epochs=5, verbose=1, validation_split=0.2)

, в этом случае он разделит 20% данных для проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...