【发布时间】:2017-01-10 07:55:47
【问题描述】:
我正在尝试使用前 20 个值来预测时间序列中的下一个值。这是我的代码示例:
X_train.shape 是(15015, 20)
Y_train.shape 是(15015,)
EMB_SIZE = 1
HIDDEN_RNN = 3
model = Sequential()
model.add(LSTM(input_shape = (EMB_SIZE,), input_dim=EMB_SIZE, output_dim=HIDDEN_RNN, return_sequences=True))
model.add(LSTM(input_shape = (EMB_SIZE,), input_dim=EMB_SIZE, output_dim=HIDDEN_RNN, return_sequences=False))
model.add(Dense(1))
model.add(Activation('softmax'))
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
model.fit(X_train,
Y_train,
nb_epoch=5,
batch_size = 128,
verbose=1,
validation_split=0.1)
score = model.evaluate(X_test, Y_test, batch_size=128)
print score
虽然当我运行我的代码时出现以下错误:
TypeError: ('Bad input argument to theano function with name "/usr/local/lib/python2.7/dist-packages/keras/backend/theano_backend.py:484" at index 0(0-based)', 'Wrong number of dimensions: expected 3, got 2 with shape (32, 20).')
我试图在这篇文章中复制结果:neural networks for algorithmic trading。这是 git repo 的链接:link
这似乎是一个概念错误。请发布任何可以让我更好地了解 LSTMS 以进行时间序列预测的资源。另外请解释一下我是如何修复这个错误的,以便我可以重现上面提到的文章中提到的结果。
【问题讨论】:
标签: python machine-learning time-series keras