CommencezCommencez gratuitement

Ajuster les hyperparamètres du modèle

C'est le moment d'essayer différents paramètres sur votre modèle et de voir comment il se comporte!

La fonction create_model() que vous avez construite à l'exercice précédent est prête à être utilisée.

Comme l'ajustement de l'objet RandomizedSearchCV prendrait trop de temps, les résultats que vous obtiendriez sont affichés par la fonction show_results(). Vous pourriez exécuter vous-même random_search.fit(X,y) dans la console pour vérifier que tout fonctionne une fois le reste en place, mais vous risquez de dépasser la limite de temps de l'exercice (donc copiez votre code avant d'essayer, sinon vous pourriez perdre votre progression!).

Vous n'avez pas besoin d'utiliser les paramètres optionnels epochs et batch_size lors de la création de votre objet KerasClassifier, puisque vous les transmettez déjà comme params à la recherche aléatoire et que cela fonctionne ainsi.

Cette activité fait partie du cours

Introduction à Deep Learning avec Keras

Voir le cours

Instructions de l’exercice

  • Importez KerasClassifier à partir des enveloppes scikit_learn de tensorflow.keras.
  • Utilisez votre fonction create_model lors de l'instanciation de votre KerasClassifier.
  • Définissez 'relu' et 'tanh' comme activation, 32, 128 et 256 comme batch_size, 50, 100 et 200 pour les epochs, et un learning_rate de 0.1, 0.01 et 0.001.
  • Transmettez votre model converti et les params choisis lors de la création de votre objet RandomizedSearchCV.

Exercice interactif pratique

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

# Import KerasClassifier from tensorflow.keras scikit learn wrappers
from tensorflow.keras.wrappers.____ import ____

# Create a KerasClassifier
model = KerasClassifier(build_fn = ____)

# Define the parameters to try out
params = {'activation': [____, ____], 'batch_size': [____, ____, ____], 
          'epochs': [____, ____, ____], 'learning_rate': [____, ____, ____]}

# Create a randomize search cv object passing in the parameters to try
random_search = RandomizedSearchCV(____, param_distributions = ____, cv = KFold(3))

# Running random_search.fit(X,y) would start the search,but it takes too long! 
show_results()
Modifier et exécuter le code