【发布时间】:2018-09-14 15:31:59
【问题描述】:
我正在尝试训练一个 RNN 来预测未来的股票价格。
我的目标是使用两个数据集训练模型:X_train 和 y_train。
X_train 是一个 3D 数组,包括(观察次数、先前蜡烛的数量、每个蜡烛的属性)
y_train 是一个 3D 数组,包括(观察次数、未来观察次数、价格)。
因此,如果我有来自 500 根蜡烛的数据,我的 X_train 将是 (430,60,6):对于 430 次观察(每次当前蜡烛),获取之前的 60 次观察和 6 个特征(收盘价、成交量等) .) 并尝试使用该数据(通过 RNN)来预测 y_train(430, 10,1):对于 430 次观察,预测接下来 10 根蜡烛的收盘价(对应于 1)。 在我的一生中,我无法获得正确输入模型的尺寸。 我对模型使用以下代码:
regressor = Sequential()
regressor.add(LSTM(units = 50, return_sequences = True, input_shape = (
X_train.shape[1], 6)))
regressor.add(Dropout(0.2))
regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(0.2))
regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(0.2))
regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(0.2))
regressor.add(LSTM(units = 50, return_sequences=True))
regressor.add(Dropout(0.2))
regressor.add(LSTM(units = 1))
regressor.compile(optimizer = 'adam', loss = 'mean_squared_error')
regressor.fit(X_train, y_train, epochs = 20, batch_size = 32)
我收到ValueError: Error when checking target: expected lstm_6 to have 2 dimensions, but got array with shape (430, 10, 1)
非常感谢。
【问题讨论】:
-
首先,这种堆叠的 lstm 结构至少可以说是非常不寻常的。
标签: python tensorflow keras