Я пытаюсь обучить простой NN с 1 скрытым слоем для бинарной классификации.Пытался использовать GridSeachCV, чтобы получить лучшие параметры, но обучение не выйдет за рамки первой эпохи.
Не получает никаких значений для best_parameters = gridSearchCV.best_params_
и best_accurcy = gridSearchCV.best_score_
после его остановки.
Код
def build_classifier_grid(optimizer):
classifier_grid = Sequential()
classifier_grid.add(Dense(output_dim = 6, init = 'uniform',activation = 'relu', input_dim = 11))
classifier_grid.add(Dense(output_dim = 6, init = 'uniform',activation = 'relu'))
classifier_grid.add(Dense(output_dim = 1, init = 'uniform',activation = 'sigmoid'))
classifier_grid.compile(optimizer = optimizer, loss = 'binary_crossentropy', metrics = ['accuracy'])
return classifier_grid
classifier_grid = KerasClassifier(build_fn = build_classifier_grid)
parameters = {'batch_size': [25,32],
'nb_epoch' : [100, 500],
'optimizer': ['adam', 'rmsprop']}
gridSearchCV = GridSearchCV(estimator = classifier_grid,
param_grid = parameters,
scoring = 'accuracy',
cv = 10)
gridSearchCV = gridSearchCV.fit(X_train, y_train)
Как:
Epoch 1/1
7200/7200 [==============================] - 5s 676us/step - loss: 0.5647 - acc: 0.7961
Epoch 1/1
7200/7200 [==============================] - 5s 681us/step - loss: 0.5626 - acc: 0.7950
Epoch 1/1
7200/7200 [==============================] - 5s 684us/step - loss: 0.5523 - acc: 0.7956
"
"
Epoch 1/1
7200/7200 [==============================] - 10s 1ms/step - loss: 0.6167 - acc: 0.7929
Epoch 1/1
8000/8000 [==============================] - 11s 1ms/step - loss: 0.5504 - acc: 0.7959