1.窗口大小和时间步都可调的
def create_dataset(X, y, time_steps, step=1):
Xs, ys = [], []
for i in range(0, len(X) - time_steps, step):
x = X.iloc[i:(i + time_steps)].values
labels = y.iloc[i: i + time_steps]
Xs.append(x)
####.mode方法表示选择最多的为标签####
ys.append(stats.mode(labels)[0][0])
return np.array(Xs), np.array(ys).reshape(-1, 1)
2.只可以调整窗口大小,时间步默认为1的
def temporalize(X, y, lookback):
X = []
y = []
for i in range(0, len(input_X) - lookback + 1):
t = []
for j in range(0, lookback):
# Gather past records upto the lookback period
t.append(input_X[[(i + j)], :])
X.append(t)
y.append(input_y[i + lookback - 1])
return X, y