首页 文章

Keras回归预测与输出维度不同

提问于
浏览
0

您好我正在尝试进行能量分解(在给定某个家庭的总能量消耗的同时预测电器的能源使用情况 . )

由于2次主要能量测量,我的输入尺寸为2 . Keras Sequential模型的输出维数应该是18,因为我有18个设备我想做预测 . 我有足够的数据使用REDD数据集(这没问题) .

我训练了模型并获得了合理的损失和准确性 . 但是当我想对某些测试数据进行预测时,预测由一维数组中的值组成 . 同时输出是18维?

这怎么可能,或者我在尝试一些不可行的东西?

一些代码:

model = Sequential()

model.add(Dense(HIDDEN_LAYER_NEURONS,input_dim=2))
model.add(Activation('relu'))
model.add(Dense(18))

model.compile(loss=LOSS,
          optimizer=OPTIMIZER,
          metrics=['accuracy'])

model.fit(X_train, y_train, epochs=EPOCHS, batch_size=BATCH_SIZE, 
verbose=1, validation_split=VALIDATION_SPLIT)

pred = model.predict(X_test).reshape(-1)
pred.shape # prints the following 1 dimensional array: (xxxxx,) dimensional

ALL_CAPS变量是常量 . X_train是2-dim y_train是18-dim

任何帮助表示赞赏!

1 回答

  • 2

    那么你正在重塑预测并在这里展平它们:

    pred = model.predict(X_test).reshape(-1)
    

    reshape(-1) 有效地使数组成为一维的 . 直接采取预测:

    pred = model.predict(X_test)
    

相关问题