如何让我的 LSTM 模型在训练后进行预测

Posted

技术标签:

【中文标题】如何让我的 LSTM 模型在训练后进行预测【英文标题】:how to make my LSTM model predict after training 【发布时间】:2019-10-14 00:47:35 【问题描述】:

我是 ML 的初学者,我正在使用 LSTM 模型来预测列的未来值我认为我成功地训练了我的模型,但我正在努力让我的模型预测未来值 我的数据集是这样的: c0 c1 c2 c3 c4 c5 0.953202 0.998825 0.943329 0.762738 0.046798 0.0 …… 我训练我的模型根据其他列预测 c5 的值


# split into train and test sets
values = reframed.values
n_train_hours = 24*24
train = values[:n_train_hours, :]
test = values[n_train_hours:, :]

# split into input and outputs
train_X, train_y = train[:, :-1], train[:, -1]
test_X, test_y = test[:, :-1], test[:, -1]
# reshape input to be 3D [samples, timesteps, features]
train_X = train_X.reshape((train_X.shape[0], 1, train_X.shape[1]))
test_X = test_X.reshape((test_X.shape[0], 1, test_X.shape[1]))
print(train_X.shape, train_y.shape, test_X.shape, test_y.shape, try1.shape)

# design network
model = Sequential()
model.add(LSTM(50, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(Dense(1))
model.compile(loss='mae', optimizer='adam')
# fit network
history = model.fit(train_X, train_y, epochs=50, batch_size=72, validation_data=(test_X, test_y), verbose=2, shuffle=False)

# make a prediction
      ???

【问题讨论】:

【参考方案1】:

查看预测:

model.predict(test_X)

计算测试数据的准确性和损失:

model.evaluate(test_X,test_Y)

你可以在https://keras.io/models/model/找到关于模型方法的所有信息

【讨论】:

【参考方案2】:

您可以使用您的模型进行预测:

print(model.predict('''your sample'''))

这将打印预测的标签。

【讨论】:

以上是关于如何让我的 LSTM 模型在训练后进行预测的主要内容,如果未能解决你的问题,请参考以下文章

Keras LSTM:如何预测超越验证与预测?

如何使用 LSTM 单元训练 RNN 以进行时间序列预测

如何使用有状态 LSTM 模型进行预测,而不指定与我训练时相同的 batch_size?

如何使用 LSTM 对图像进行时间序列预测?

python如何预测下一年的数据

LSTM模型预测sin函数详解