LSTM时间序列输出与实际数据不匹配

2022-01-30 14:48:19 标签 pythontensorflowkeraslstm

我使用Keras中的LSTM模型来预测时间序列数据。我使用MinMaxScaler来规范化数据,并像下面的代码一样创建模型。

sc = MinMaxScaler()
train_sc = sc.fit_transform(train)
test_sc = sc.transform(test)
X_train = train_sc[:-1]
y_train = train_sc[1:]
X_test = test_sc[:-1]
y_test = test_sc[1:]
X_train_t = X_train[:, None]
X_test_t = X_test[:, None]
K.clear_session()
model = Sequential()
model.add(LSTM(12, input_shape=(1, 1)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(X_train_t, y_train,epochs=200, batch_size=1, verbose=1)
y_pred = model.predict(X_test_t)
real_pred = sc.inverse_transform(y_pred)
real_test = sc.inverse_transform(y_test)

输出如下图所示。将测试值放入model。predict()中,则显示预测值。所以我认为预测值应该与下一个测试值相比较,就像这个表。

从图中可以看出预测值与实际值不匹配。它看起来像输出复制值从输入显示。如何修复它?

阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码