这是一个单变量时间序列预测问题。如下代码所示,我将原始数据分为训练集(
谢谢!
trainX
)和测试集(testX
),然后使用Keras创建了一个LSTM网络。接下来,我通过训练集对模型进行训练。但是,当我想要得到预测结果时,我需要知道测试值,因此我的问题是:既然我已经知道了这个问题中的测试集的真实值,为什么还需要进行预测呢?我想要得到的是未来时间的预测值?如果我对LSTM网络有误解,请告诉我。谢谢!
# create and fit the LSTM network
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(trainX, trainY, epochs=100, batch_size=1, verbose=2)
# make predictions
trainPredict = model.predict(trainX)
testPredict = model.predict(testX)
testPrediction = model.predict(testX)
的意思是使用已知数据集testX
来评估模型,并获取testX
之后时间的预测值。如果您想获取testX
之后时间的预测值,可以使用该代码。 - S.X