Пример использования KerasRegressor в scikit-optimize - PullRequest
0 голосов
/ 02 мая 2020

Я использую потрясающий набор инструментов scikit-optimize для оптимизации гиперпараметров. Моя цель состоит в том, чтобы сравнить модели keras и scikit-learn.

В соответствии с примером https://scikit-optimize.github.io/stable/auto_examples/sklearn-gridsearchcv-replacement.html#sphx -glr-auto-examples-sklearn-gridsearchcv-replace-py были использованы только обучающие модели scikit. Попытка что-то вроде следующего кода не позволяет интегрировать режим keras в BayesSearchCV.

# Function to create model, required for KerasRegressor
def create_model(optimizer='rmsprop', init='glorot_uniform'):
    # create model
    model = Sequential()
    model.add(Dense(12, input_dim=8, kernel_initializer=init, activation='relu'))
    model.add(Dense(8, kernel_initializer=init, activation='relu'))
    model.add(Dense(1, kernel_initializer=init, activation='linear'))
    # Compile model
    model.compile(loss='mse', optimizer=optimizer, metrics=['r2'])
    return model

model = KerasRegressor(build_fn=create_model, verbose=0)
NN_search = {
    'model': [model()],
    'model__optimizers': optimizers,
    'model__epochs' : epochs, 
    'model__batch_size' : batches, 
    'model__init' : init
}

Кому-нибудь удалось объединить классификатор / регрессор Keras с резюме BayesSearch?

Это было бы невероятно полезно!

...