我正在尝试使用LSTM构建预测模型;简要地预测" 目标",使用系列" 数据"。在几个时代之后,它正确地适合数据。作为初学者,我需要提供什么样的数据集(维度)提供网络,以便进一步预测?
我的目标是预测+1步骤,考虑到整个过去的时间序列,我该如何实现呢?
最终,第二个代表什么,当我重塑数据"和"目标"?
print(df.head)
0 7 20
1 0 0
2 0 0
3 0 0
4 0 0
...
data = df[:,0]
target = df[:, 1 ]
data = data.reshape((1, 1, int(len(df))))
target = target.reshape((1 ,1, int(len(df))))
#We Define The Model
import random
random.seed(1)
model = Sequential()
model.add(LSTM(int(len(df)), input_shape=(1, int(len(df))), return_sequences=True))
model.add(Dense(int(len(df))))
model.add(LSTM(int(len(df)), input_shape=(1, int(len(df))), return_sequences=True))
model.add(Dense(int(len(df))))
model.compile(loss='mean_absolute_error', optimizer='Adam',metrics=['accuracy'])
model.fit(data, target, nb_epoch=100, batch_size=1, verbose=2, validation_data = (data, target))
predict = model.predict(data)
答案 0 :(得分:1)
我认为你正在使用Keras来开发你的LSTM模型。我建议您查看以下链接(下面),以便更加仔细地了解为什么需要重新整形数据。在示例中,数据框的维度与教程使用的维度相同。