【发布时间】:2017-12-12 01:16:15
【问题描述】:
我正在玩机器学习并尝试跟随一些示例,但我一直在尝试将我的数据放入 Keras LSTM 层。
我在 Pandas DataFrame 中有一些股票行情数据,这些数据每隔 15 分钟使用 ohlc 进行重新采样,并为每一行加载其他指标。
我的代码如下。 df 是我的数据框:
x = df.iloc[:, :-1].values
y = df.iloc[:, -1:].values
dimof_input = x.shape[1]
dimof_output = len(set(y.flat))
model = Sequential()
model.add(LSTM(4, input_dim=dimof_input, return_sequences=True))
model.compile(loss='mse', optimizer='rmsprop')
model.fit(x, y, nb_epoch=1, batch_size=1, verbose=2)
当我尝试和适应时,我得到:
Error when checking input: expected lstm_16_input to have 3 dimensions,
but got array with shape (33, 100)
我从其他地方的例子中复制了这个。我不太明白如何将正确的数据形状放入该模型中。有人可以帮忙吗?
感谢负载。
【问题讨论】:
-
你实际上想用 LSTM 实现什么?
-
我正在关注一些股票价格预测教程。主要是这只是一个可以解决的问题,而不是任何严重的问题。
-
好吧...也许它与您通过执行
x.shape[1]得到的dimof_input有关...x的形状是什么?通常我只是在没有索引的情况下做x.shape... -
@Ludo 您是否设法解决了这个问题?想看看如何从 df 到 3D 张量...
标签: python machine-learning keras lstm