CommencerCommencer gratuitement

Ajuster les hyperparamètres du modèle

Il est temps de tester différents paramètres sur votre modèle et de voir comment il se comporte !

La fonction create_model() que vous avez construite dans 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 pouvez essayer random_search.fit(X,y) dans la console pour vérifier que cela fonctionne une fois tout le reste en place, mais vous risquez de dépasser le temps imparti à l’exercice (copiez donc d’abord votre code si vous tentez l’expérience, 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 passez déjà comme params à la recherche aléatoire, et que cela fonctionne ainsi.

Cet exercice fait partie du cours

Introduction au Deep Learning avec Keras

Afficher le cours

Instructions

  • Importez KerasClassifier depuis les wrappers 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 comme epochs, et des learning_rate de 0.1, 0.01 et 0.001.
  • Passez votre model converti et les params choisis lors de la construction de votre objet RandomizedSearchCV.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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