Preparar un modelo para el ajuste
Afinemos los hiperparámetros de un modelo de clasificación binaria que clasifique bien el conjunto de datos del cáncer de mama.
Ya has visto que el primer paso para convertir un modelo en un estimador sklearn es construir una función que lo cree. La definición de esta función es importante ya que el ajuste de hiperparámetros se realiza variando los argumentos que recibe su función.
Construya una función create_model()
simple que reciba como argumentos una tasa de aprendizaje y una función de activación. El optimizador Adam
se ha importado como un objeto de tensorflow.keras.optimizers
para que también pueda cambiar su parámetro de tasa de aprendizaje.
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo con Keras
Instrucciones de ejercicio
- Establece la tasa de aprendizaje del objeto optimizador
Adam
a la pasada en los argumentos. - Establece las activaciones de las capas ocultas a las pasadas en los argumentos.
- Pase el optimizador y la pérdida de entropía cruzada binaria al método
.compile()
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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