应为最后一列是LABEL,我不确定Y[i-s] = self.raw[i:i+predict_step].copy() 还是 Y[i-s] = self.raw[i:i+predict_step,-1].copy()
时间: 2023-12-12 22:02:05 浏览: 92
如何在电子表格中返回最后的行号列号
如果你的时间序列数据集中最后一列是标签列,并且你希望将标签列中的数据作为输出数据集`Y`,那么你可以将代码修改为:
```
s = self.ps*self.skip + self.Ck-1 + self.h-1
X1 = np.zeros((self.n-s, self.w, self.m)) # short term dataset
X2 = np.zeros((self.n-s, self.ps*self.Ck, self.m)) # long term dataset
predict_step = 6
Y = np.zeros((self.n-s, predict_step))
for i in range(s, self.n):
t = i-self.h+1
X1[i-s] = self.raw[t-self.w:t].copy()
idx = []
for k in range(self.ps): # 执行4次,每次间隔skip长,取Ck=6, total = 4 * 6 = 24
idx = list(range(t-self.Ck-k*self.skip, t-k*self.skip)) + idx
idx = np.array(idx, dtype=int)
X2[i-s] = self.raw[idx].copy()
Y[i-s] = self.raw[i:i+predict_step, -1].copy()
return X1, X2, Y
```
这样,`Y`数组的每一行将会包含从时间步i到时间步(i+predict_step-1)的标签数据。
阅读全文