我的格式为dataset,它看起来像矩阵[NxM],其中N = 40个周期总数(时间戳),M = 1440个像素。对于每个周期,我都有1440个像素值,对应于1440个像素。我使用了不同的模型来基于过去的10个周期来预测未来周期的像素值。
问题是在训练NN之后,我无法获得正确的连续绘图,这很可能是由于我通过train_test_split
使用过但但从未被TimeSeriesSplit
尝试过的不良数据拆分技术,如下所示:
trainX, testX, trainY, testY = train_test_split(trainX,trainY, test_size=0.2 , shuffle=False)
第一个问题正在考虑我使用了shuffle=False
,并希望将数据中的末中的0.2视为测试数据,我可以正确地绘制它们,但是我做不到因为:
1)不幸的是,由于历史记录功能def create_dataset()
会检查过去的10个周期以预测未来的周期,因此我错过了10个周期。如您所见:
def create_dataset(dataset,data_train,look_back=1):
dataX,dataY = [],[]
print("Len:",len(dataset)-look_back-1)
for i in range(len(dataset)-look_back-1):
a = dataset[i:(i+look_back), :]
dataX.append(a)
dataY.append(data_train[i + look_back, :])
return np.array(dataX), np.array(dataY)
look_back = 10
trainX,trainY = create_dataset(data_train,Y_train, look_back=look_back)
2)我也无法访问被视为测试数据的循环数,因此当我绘制时,循环数从0开始!而不是从火车数据的结束周期继续!
在正确的数据切片之后,我的预期结果是使我捕捉到了以下连续绘图,该连续绘图是我在Windows 7中通过绘画手动绘制的:
任何建议将不胜感激。