赞
踩
# 先把数据改成X-y形式,输入用time-step决定 from sklearn import preprocessing import pandas as pd import numpy as np import sys import torch.optim as optim import torch import torch.nn as nn import matplotlib.pyplot as plt #使输出完整显示 import numpy as np np.set_printoptions(threshold=np.inf) pd.set_option('display.max_rows', None) pd.set_option('display.max_columns', None) np.set_printoptions(threshold= sys.maxsize) #n_in,n_out决定了X-y数据形式,series_to_supervised函数的作用是将n行数据拼接成一条训练数据, #至于哪部分做X,哪部分做y则由后面数组切片决定(train_X, train_y = train[:, :-1], train[:, -1]) #如果n_in为1代表一条输入作为x,如果n_in为2代表两条输入作为x,以此类推 #如果n_out为1代表往后预测一个时刻的输出,如果n_out为2代表往后预测两个时刻的输出,以此类推 #虽然这部分n_in,n_out的设计并不会对后面的训练有实质的影响,起实质影响的是数组切片(train_X, train_y = train[:, :-1], train[:, -1]) #但最好保证这块输入输出设计与后面的切片一致,方便理解 def series_to_supervised(data, n_in=1, n_out=1, dropnan=True): n_vars = 1 if type(data) is list else data.shape[1] df = pd.DataFrame(data) cols, names = list(), list() # input sequence (t-n, ... t-1) for i in range(n_in, 0, -1): cols.append(df.shift(i)) names += [('var%d(t-%d)' % (j+1, i)) for j in range(n_vars)] # forecast sequence (t, t+1, ... t+n) for i in range(0, n_out): cols.append(df.shift(-i)) if i == 0: names += [('var%d(t)' % (j+1)) for j
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。