0

我正在使用 python MLP 模型开发时间序列预测模型。我的训练样本有 550 个事件和 9 个变量。我有一个单独的文件用于测试。我想在 t+1 预测 9 个变量之一。由于它是一个时间序列,我为 X (547, 3, 9) 做了 3 个事件的 547 个部分,每次步行一次。并且 y (547,) 是 t+1 时的一个变量。

model1 = Sequential()
model1.add(Dense(1, activation='tanh', input_shape=(3, 9)))
model1.add(Dense(1, activation='linear'))
model1.summary()

model1.compile(loss='mse', optimizer='adam', metrics=['mae'])

model1.fit(X, y, epochs=2000, verbose=1)

ValueError:检查模型输入时出错:您传递给模型的 Numpy 数组列表不是模型预期的大小。预计会看到 1 个数组,但得到了以下 547 个数组的列表:

[array([[3.00000000e+01, 1.10000000e+01, 2.01500000e+03, 1.40000000e+01,
        8.36778275e-01, 2.07423694e-01, 7.65763170e-01, 5.07591141e-01,
        9.61668222e-01],
       [3.00000000e+01, 1.1000...
4

1 回答 1

0

对于具有单个输入的模型,您需要提供一个数组,其中第一个维度是样本。你给了一个清单。转换为数组(例如使用 np.stack(X))。

于 2019-09-29T20:08:33.823 回答