Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from keras.wrappers.scikit_learn import KerasClassifier
- # create model function to use with KerasClassifier
- def create_model(optimizer='adam', neurons=64, dropout_rate=0.25):
- activation='relu'
- #build layers
- model = Sequential()
- model.add(BatchNormalization(axis=-1, momentum=0.99, epsilon=0.001, center=True, scale=True,
- beta_initializer='zeros', gamma_initializer='ones', moving_mean_initializer='zeros'))
- model.add(Dense(neurons, activation='relu'))
- model.add(Dropout(dropout_rate))
- model.add(Dense(neurons, activation='relu'))
- model.add(Dropout(dropout_rate))
- model.add(Dense(neurons, activation='relu'))
- model.add(Dropout(dropout_rate))
- model.add(Dense(2, activation='softmax'))
- #compile model
- model.compile(loss='categorical_crossentropy',
- optimizer=optimizer,
- metrics=['accuracy'])
- return model
- model = KerasClassifier(build_fn=create_model, batch_size=128, epochs=2)
- from sklearn.model_selection import RandomizedSearchCV
- # create grid of hyperparameters
- params = {'neurons':[256, 512],
- 'dropout_rate':[0.25, 0.5, 0.75],
- 'optimizer':['adam', 'sgd']}
- grid = RandomizedSearchCV(estimator=model, param_distributions=params,
- verbose=2, n_jobs=-1)
- grid.fit(X_train, y_train)
- grid.best_params_
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement