CommencezCommencez gratuitement

Préparer un modèle pour l'optimisation

Optimisons les hyperparamètres d'un modèle de classification binaire performant sur le jeu de données sur le cancer du sein.

Vous avez vu que la première étape pour transformer un modèle en estimateur sklearn consiste à écrire une fonction qui le crée. La définition de cette fonction est cruciale, car l'optimisation des hyperparamètres se fait en faisant varier les arguments que votre fonction reçoit.

Créez une fonction simple create_model() qui reçoit en paramètres un taux d'apprentissage et une fonction d'activation. L'optimiseur Adam a été importé comme objet depuis tensorflow.keras.optimizers, ce qui vous permet aussi d'en modifier le taux d'apprentissage.

Cette activité fait partie du cours

Introduction à Deep Learning avec Keras

Voir le cours

Instructions de l’exercice

  • Réglez le taux d'apprentissage de l'objet optimiseur Adam à la valeur reçue en argument.
  • Définissez les fonctions d'activation des couches cachées à celle reçue en argument.
  • Passez l'optimiseur et la perte binaire par entropie croisée à la méthode .compile().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
Modifier et exécuter le code