如何让我的 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 模型在训练后进行预测的主要内容,如果未能解决你的问题,请参考以下文章