Python 如何获得LSTM多元时间序列的多元回归输出
我试图使用LSTM模型预测家庭中各种电器的耗电量。 考虑玩具数据集:Python 如何获得LSTM多元时间序列的多元回归输出,python,machine-learning,deep-learning,lstm,Python,Machine Learning,Deep Learning,Lstm,我试图使用LSTM模型预测家庭中各种电器的耗电量。 考虑玩具数据集: DateTime Units App-1 App-2 App-3 outdoor_humidity outdoor_temperature 2007-06-06 14:00:00 1.3 6.8 0.2 8.45 62.5 22.9 2007-06-06 15:00:00 0.6 1.1
DateTime Units App-1 App-2 App-3 outdoor_humidity outdoor_temperature
2007-06-06 14:00:00 1.3 6.8 0.2 8.45 62.5 22.9
2007-06-06 15:00:00 0.6 1.15 0.0 4.15 64.3 22.6
2007-06-06 16:00:00 1.00 7.75 1.05 0.0 67.2 22.1
2007-06-06 17:00:00 0.43 0.0 1.01 0.0 69.7 21.5
2007-06-06 18:00:00 0.51 0.0 0.0 0.0 71.9 20.6
我想从LSTM模型中同时找到单位App-1、App-2、App-3的值。我试过把
model.add(keras.layers.Dense(units=4, activation='linear'))
但这并没有给出所需的结果。可能问题在于为训练集制作正确的形状。我使用滚动窗口方法创建所需的3D训练集
def create_dataset(X, y, time_steps=1):
Xs, ys = [], []
for i in range(len(X) - time_steps):
v = X.iloc[i:(i + time_steps)].values
Xs.append(v)
ys.append(y.iloc[i + time_steps])
return np.array(Xs), np.array(ys)
time_steps = 24
dv_columns = ['Units', 'App-1', 'App-2', 'App-3']
# reshape to [samples, time_steps, n_features]
X_train, y_train = create_dataset(train, train.loc[:,dv_columns], time_steps )
X_test, y_test = create_dataset(test , test.loc[:, dv_columns] , time_steps )
print(X_train.shape, y_train.shape)
完整代码和数据集:
我想为提供的代码实现同样的功能,请检查它