我一直在关注这个教程,我已经有了数据,现在我想根据当前测试集中的所有数据来预测未来的数据。
这是我目前的代码。我对机器学习和Python完全是新手(我通常使用Java),所以这对我来说就像阅读中文一样,但我已经复制并粘贴了代码。目前,它从数据的开始进行预测,但我希望它从数据的末尾开始预测。
def predict_future(model, data, window_size, prediction_len): curr_frame = data[-3] predicted = [] for i in range(len(data), len(data)+ prediction_len): predicted.append(model.predict(curr_frame[newaxis, :, :])[0, 0]) curr_frame = curr_frame[1:] curr_frame = np.insert(curr_frame, [window_size - 1], predicted[-1], axis=0) return predicted
我非常希望能得到所有可能的帮助,我在这方面的知识非常有限。
回答:
目前的情况是,在循环的每次迭代中,当前框架被设置为除当前数据之外的所有剩余数据。我们可以保持相同的结构,只需翻转每一行即可。
在函数的开头,你可以通过添加一行data = np.flip(data, axis=0)
来反转数据,使预测从末尾开始,向开始方向进行,这行代码会反转data
的每一行。