Я пытаюсь создать модель LSTM, которая будет состоять из четырех временных рядов (4 x 10000 выборок), и на их основе попытаюсь предсказать для каждого момента времени, есть ли контактное событие или нет (2 x 10000 образцов).
Не могли бы вы указать мне правильное направление, как структурировать данные и модель. Должны ли данные быть представлены так, чтобы я сделал массив длиной 40000 для ввода и массив длиной 20000 в качестве выхода? Затем данные тренировки передаются в кераты как массив этих массивов следующим образом: [input (массив 40k), input (массив 40k)], [output (массив 20k), output (массив 20k)]
Я надеюсь, что следующий код объясняет, что я пытаюсь сделать
i = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
o = np.array([0, 0, 1, 0, 1, 1, 1, 1, 1])
inputs = np.array([[i, i, i, i], [i, i, i, i]])
outputs = np.array([[o, o], [o, o]])
inputs = np.array([np.ravel(i) for i in inputs])
outputs = np.array([np.ravel(i) for i in outputs])
input_dim = inputs.shape[1]
output_dim = outputs.shape[1]
print(input_dim, output_dim)
model = build_model(input_dim, output_dim)
model.summary()
def build_model(input_dim, output_dim):
model = Sequential()
model.add(LSTM(input_dim, activation='relu', input_dim=1))
model.add(Dense(output_dim))
model.compile(optimizer='adam', loss='mse')
return model