É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
Instructions
- Créez une liste de 200 valeurs pour l’hyperparamètre
learning_ratecomprises entre 0,01 et 1,5 et affectez-la à la listelearn_rate_list. - Créez une liste de valeurs entre 10 et 40 inclus pour l’hyperparamètre
min_samples_leafet affectez-la à la listemin_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(____)