Preparar un modelo para el ajuste
Vamos a ajustar los hiperparámetros de un modelo de clasificación binaria que funciona bien clasificando el conjunto de datos de cáncer de mama.
Ya has visto que el primer paso para convertir un modelo en un estimador de sklearn es crear una función que lo construya. La definición de esta función es importante, ya que el ajuste de hiperparámetros se realiza variando los argumentos que recibe tu función.
Crea una función sencilla create_model() que reciba como argumentos tanto una tasa de aprendizaje como una función de activación. El optimizador Adam se ha importado como un objeto desde tensorflow.keras.optimizers para que también puedas cambiar su parámetro de tasa de aprendizaje.
Este ejercicio forma parte del curso
Introducción al Deep Learning con Keras
Instrucciones del ejercicio
- Establece la tasa de aprendizaje del objeto optimizador
Adamal valor pasado en los argumentos. - Configura las activaciones de las capas ocultas con el valor pasado en los argumentos.
- Pasa el optimizador y la pérdida de entropía cruzada binaria al método
.compile().
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Creates a model given an activation and learning rate
def create_model(learning_rate, activation):
# Create an Adam optimizer with the given learning rate
opt = Adam(lr = ____)
# Create your binary classification model
model = Sequential()
model.add(Dense(128, input_shape = (30,), activation = ____))
model.add(Dense(256, activation = ____))
model.add(Dense(1, activation = 'sigmoid'))
# Compile your model with your optimizer, loss, and metrics
model.compile(optimizer = ____, loss = ____, metrics = ['accuracy'])
return model