Keras 中的多维回归

数据挖掘 Python 神经网络 回归 喀拉斯
2022-02-24 23:36:42

我正在尝试使用 Keras 实现本文中介绍一个隐藏层模型。

这是我的代码:

from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Activation
from keras import optimizers

model = Sequential()
model.add(Dense(100, input_dim=9216))
model.add(Activation('relu'))
model.add(Dense(30))
model.compile(loss='mean_squared_error', optimizer=sgd, metrics=['accuracy'])

sgd = optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True)
hist = model.fit(X_train, y_train, epochs=10, verbose=0, validation_split=0.2)

y_pred = model.predict_classes(X_valid)

X_train 形状为 (2140, 9216)

y_train 形状为 (2140, 30)

X_valid 形状为 (1783, 9216)

y_valid形状是(1783,)。我试图理解为什么我没有得到 (1783, 30) 输出。我错过了什么吗?

1个回答

问题在于predict_classes

model.predict_classes(X_valid)

这旨在选择 argmax(最大输出的索引)并将其作为分类器的预测类。

你有一个回归问题,只想要网络的原始输出。因此,您应该致电:

y_pred = model.predict(X_valid)