【发布时间】:2018-07-26 23:39:52
【问题描述】:
我一直在关注来自https://machinelearningmastery.com/blog/ 的各种教程,使用 Keras 取得了巨大成功。最近我一直在尝试使用深度 LSTM 网络来解决时间序列序列预测问题。网络训练良好并且产生了可接受的错误量。在现实世界的应用中,没有数据点可以插入来生成下一个预测,就像你可以对测试数据集做的那样,所以我希望能够插入最后一个预测。
对于这个网络的实际应用,我需要能够使用我的初始数据进行预测 t+1,将结果添加到输入数据,预测 t+2,将结果添加到输入数据,等等,直到我能够预测未来的特定时间步长。
我最初是这样开始的:
start = len(testX)-15
pattern = testX[start]
for i in range(200):
x = numpy.reshape(testX, (testX.shape[0], testX.shape[1], 1))
prediction = model.predict(testX[i:i+15], batch_size=batch_size)
pattern.append(prediction)
print "\nDone."
此方法遇到 pattern.append(prediction) 行产生错误的问题:AttributeError: 'numpy.ndarray' object has no attribute 'append'。这不是用最后一个预测更新输入,因此打破了连续循环。
我还没有找到任何使用这种类型的馈送方法能够根据最新数据及时预测的 ANN 模型。
【问题讨论】:
标签: python numpy for-loop machine-learning keras