CommencerCommencer gratuitement

Échantillonner aléatoirement des hyperparamètres

Pour réaliser une random search, il faut commencer par échantillonner aléatoirement l’espace des hyperparamètres.

Dans cet exercice, vous allez d’abord créer des listes d’hyperparamètres que vous combinerez ensuite en une liste de listes. Puis vous échantillonnerez aléatoirement des combinaisons d’hyperparamètres en vue d’exécuter une random search.

Pour garder l’exemple clair et sans complexité inutile, vous utiliserez uniquement les hyperparamètres learning_rate et min_samples_leaf de l’algorithme GBM.

Cet exercice fait partie du cours

Optimisation des hyperparamètres en Python

Afficher le cours

Instructions

  • Créez une liste de 200 valeurs pour l’hyperparamètre learning_rate comprises entre 0,01 et 1,5 et affectez-la à la liste learn_rate_list.
  • Créez une liste de valeurs entre 10 et 40 inclus pour l’hyperparamètre min_samples_leaf et affectez-la à la liste min_samples_list.
  • Combinez ces listes en une liste de listes à partir de laquelle échantillonner.
  • Échantillonnez aléatoirement 250 modèles à partir de ces combinaisons d’hyperparamètres et affichez le résultat.

Exercice interactif pratique

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

# Create a list of values for the learning_rate hyperparameter
learn_rate_list = list(np.____(____,____,____))

# Create a list of values for the min_samples_leaf hyperparameter
min_samples_list = list(____(____,____))

# Combination list
combinations_list = [list(x) for x in ____(____, min_samples_list)]

# Sample hyperparameter combinations for a random search.
random_combinations_index = np.____(range(0, len(____)), ____, replace=False)
combinations_random_chosen = [combinations_list[x] for x in ____]

# Print the result
print(____)
Modifier et exécuter le code