Recherche aléatoire avec Random Forest
Pour consolider vos connaissances sur l’échantillonnage aléatoire, réalisons un exercice similaire avec d’autres hyperparamètres et un autre algorithme.
Comme précédemment, créez des listes d’hyperparamètres qui pourront être combinées en une liste de listes. Vous utiliserez les hyperparamètres criterion, max_depth et max_features de l’algorithme Random Forest. Ensuite, vous échantillonnerez aléatoirement des combinaisons d’hyperparamètres afin de préparer une recherche aléatoire.
Pour cette tâche, vous utiliserez un package légèrement différent pour l’échantillonnage : random.sample().
Cet exercice fait partie du cours
Optimisation des hyperparamètres en Python
Instructions
- Créez les listes des valeurs
'gini'et'entropy'pourcriterionet"auto", "sqrt", "log2", Nonepourmax_features. - Créez une liste de valeurs entre 3 et 55 inclus pour l’hyperparamètre
max_depthet assignez-la à la listemax_depth_list. Rappelez-vous querange(N,M)crée une liste deNàM-1. - Combinez ces listes en une liste de listes à échantillonner à l’aide de
product(). - Échantillonnez aléatoirement 150 modèles à partir de la liste combinée et affichez le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create lists for criterion and max_features
criterion_list = ____
max_feature_list = ____
# Create a list of values for the max_depth hyperparameter
max_depth_list = list(range(____,____))
# Combination list
combinations_list = [list(x) for x in product(____, ____, ____)]
# Sample hyperparameter combinations for a random search
combinations_random_chosen = random.sample(____, ____)
# Print the result
print(____)