python - LSTM 时间序列输出与实际数据不匹配
问题描述
我在 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() 时,它会显示预测值。所以,我认为预测值应该与下表中的下一个测试值进行比较。
图片显示预测值与实际值不符。它看起来像从输入到显示的输出复制值。如何解决?
解决方案
推荐阅读
- selenium - 如何通过 Selenium 登录 Twitch
- css - CSS sprites 的最快图像布局
- excel - VBA查找特定单词并将值复制到另一个单元格
- python - 如何获得一个值的熊猫系列虚拟表示
- python-3.x - Python 错误:CountVectorizer.fit - AttributeError:'list' 对象没有属性'lower'
- python - 使用 DataFrameMapping 时如何解决内存错误?
- android - 如何保持启动画面直到数据准备好
- opengl - GLSL法线向量变换
- jquery - html页面中的引导折叠错误
- ios - 如果当前打开特定的 ViewController,如何检查 AppDelegate