您好我正在尝试进行能量分解(在给定某个家庭的总能量消耗的同时预测电器的能源使用情况 . )
由于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 回答
那么你正在重塑预测并在这里展平它们:
reshape(-1)
有效地使数组成为一维的 . 直接采取预测: