首页 > 解决方案 > 如何在python中通过LSTM获得对新数据的预测

问题描述

这是一个单变量时间序列预测问题。如以下代码所示,我将初始数据分为训练数据集(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)

标签: pythontensorflowmachine-learningkeraslstm

解决方案


由于在训练模型时我们没有未来的价值,我们只是将数据分为训练集和测试集。然后我们只是想象测试集是未来的值。我们使用训练集(通常也是验证集)训练我们的模型。在我们的模型经过训练后,我们使用测试集对其进行测试,以检查我们的模型性能。


推荐阅读