TensorFlow中使用predict()进行时间序列预测的序列对齐问题咨询
TensorFlow中使用predict()进行时间序列预测的序列对齐问题咨询
嘿各位,我最近在用TensorFlow搭建LSTM做时间序列预测的时候,遇到了一个关于预测结果和真实标签对齐的疑问,想请教下大家。
先给大家看看我用来生成序列数据的代码:
import numpy as np import pandas as pd def Sequential_Input_LSTM(df, input_sequence): df_np = df.to_numpy() X = [] y = [] for i in range(len(df_np) - input_sequence): row = [a for a in df_np[i:i + input_sequence]] X.append(row) label = df_np[i + input_sequence] y.append(label) return np.array(X), np.array(y) # pandas DataFrame df_data 是我的原始数据集 X, y = Sequential_Input_LSTM(df_data , 10)
这个函数的逻辑是用滑动窗口生成输入序列和对应的标签:比如第一个X是原始数据里前10个时间步的值,对应的y就是第11个时间步的数据;然后窗口向右滑动1步,取下一段10个连续值作为下一个X,对应的y就是这段窗口之后的那个值,以此类推。
现在我从生成的X里划分出了X_test部分,用训练好的LSTM模型做预测:
predictions = model.predict(X_test)
我现在有点搞不清楚,模型输出的predictions里的每个预测值,对应的是y数组里的哪一个真实标签? 或者说,我该怎么确保预测结果和真实的测试标签是严格对齐的?比如X_test里的第一个样本是原始数据中某一段10个连续值,那对应的预测值是不是应该对应y里的某个特定位置的标签?有没有可能我在划分测试集的时候搞错了对齐关系?
麻烦懂的朋友帮忙解答下,谢谢啦!
备注:内容来源于stack exchange,提问作者user27886601
相关产品推荐
相关产品推荐

