【发布时间】:2018-07-23 18:14:14
【问题描述】:
我正在使用 Keras 的 LSTM 解决时间序列预测问题。我已经在 TimeseriesGenerator 上完成了数据集的整形和批处理,但我不确定我是否得到了我想要的结果,所以我试图让它保持简单的调试。
我的数据由 1 个具有 100 个时间步长和 1 个特征的样本组成,我正在使用最后 30 个值进行测试。我无法弄清楚训练 x/y 数据集的形状有什么问题。
train_x, test_x, train_y, test_y = train_test_split(x, y, test_size=30, shuffle=False)
train_x = np.reshape(train_x, (1, train_x.shape[0], train_x.shape[1]))
model = Sequential()
model.add(LSTM(units = 16, input_shape=(train_x.shape[1],train_x.shape[2])))
model.add(Dense(units = 1, activation = 'linear'))
model.compile(optimizer = 'adam', loss = 'mean_squared_error')
history = model.fit(train_x, train_y, validation_split=0.1, batch_size = 16, epochs = 300, shuffle=False,verbose=1)
ValueError:输入数组的样本数应与目标数组相同。找到 1 个输入样本和 69 个目标样本。
【问题讨论】: