【发布时间】:2020-06-10 03:39:20
【问题描述】:
我正在使用时间序列数据,其形状为 2000x1001,其中 2000 是案例数,1000 行表示时域中的数据,期间 X 方向的位移1 秒周期,表示时间步长为 0.001。最后一列代表速度,即我需要根据 1 秒内的位移预测的输出值。 Keras 中的RNN 应该如何塑造输入数据?我已经学习了一些教程,但我仍然对 RNN 中的输入形状感到困惑。提前致谢
#load data training data
dataset=loadtxt("Data.csv", delimiter=",")
x = dataset[:,:1000]
y = dataset[:,1000]
#Create train and test dataset with an 80:20 split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)
#input scaling
scaler = StandardScaler()
x_train_s =scaler.fit_transform(x_train)
x_test_s = scaler.transform(x_test)
num_samples = x_train_s.shape[0] ## Number of samples
num_vals = x_train_s.shape[1] # Number of elements in each sample
x_train_s = np.reshape(x_train_s, (num_samples, num_vals, 1))
#create model
model = Sequential()
model.add(LSTM(100, input_shape=(num_vals, 1)))
model.add(Dense(1, activation='relu'))
model.compile(loss='mae', optimizer='adam',metrics = ['mape'])
model.summary()
#training
history = model.fit(x_train_s, y_train,epochs=10, verbose = 1, batch_size =64)
【问题讨论】:
-
嗨安德鲁,我已经添加了一个答案,请阅读它,它肯定有助于理解论点。
标签: python keras recurrent-neural-network