Keras model.predict (), возвращающий один и тот же вывод прогноза для всех значений в тестовых входных данных - PullRequest
0 голосов
/ 21 мая 2018

Я использую Keras для построения нейронной сети, и модель успешно компилируется, и я нормализовал данные.

однако, когда я использую model.predict (xtest), я получаю одно и то же значение для каждого прогнозируемого результата

def model_final():
    model = models.Sequential()
    model.add(layers.Dense(64, activation='relu',
                           input_shape=(xtrain.shape[1],),
                          kernel_regularizer = regularizers.l2(0.001)))
    model.add(layers.Dense(64, activation='relu',
                          kernel_regularizer = regularizers.l2(0.001)))
    model.add(layers.Dense(1))
    model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
    return model

model = model_final()

model_final = model.fit(xtrain, ytrain, epochs = 100, batch_size = 10, verbose = 0)

model_final_eval = model.evaluate(xtest, ytest)

, для которого я получаю следующую среднеквадратическую ошибку и могу:

214/214 [==============================] - 3s 14ms/step
[1.9285373412534785e-06, 0.00061284683733987052]

Затем, когда я использую model.predict(xtest), я получаю следующий вывод:

array([[ 0.0014801],
       [ 0.0014801],
       [ 0.0014801],...

для всех значений в model.predict.

Я предполагаю, что одно и то же прогнозируемое значение для всех значений в наборе данных не может быть правильным.

предложений?

Спасибо!

1 Ответ

0 голосов
/ 21 мая 2018

model не обучен, вы должны использовать model_final.predict(...)

Вы звоните predict по тому же сценарию?Если нет, возможно, вам придется загрузить вес.

...