【发布时间】:2019-12-04 14:27:50
【问题描述】:
我正在建立一个多元时间序列 LSTM 模型,其中我使用 9 个变量的历史数据作为输入和 3 个时间步长。我输入的维度如下:
X_train_reshape = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 9))
X_test_reshape = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 9))
print(X_train.shape,y_train3.shape, X_test.shape, y_test3.shape)
(1744, 3, 9) (1744, 1) (434, 3, 9) (434, 1)
我将输入缩放到 (0,1) 之间。
scaler = MinMaxScaler(feature_range=(0, 1))
scaler = scaler.fit(train)
train = scaler.transform(train)
test = scaler.transform(test)
我的模型似乎正在工作并成功预测目标变量。但是,当我尝试对目标变量进行逆变换时收到以下错误。
yhat_inv = scaler.inverse_transform(model.predict(X_train)).flatten()
"ValueError: non-broadcastable output operand with shape (1744,1) doesn't match the broadcast shape (1744,9)"
如何对预测值进行逆变换?
【问题讨论】:
标签: python-3.x keras scikit-learn