Recherche aléatoire avec Random Forest
Pour consolider vos connaissances sur l'échantillonnage aléatoire, faisons un exercice similaire, mais avec d'autres hyperparamètres et un autre algorithme.
Comme précédemment, créez des listes d'hyperparamètres qui pourront être regroupé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 au hasard des combinaisons d'hyperparamètres en vue d'exécuter une recherche aléatoire.
Pour l'échantillonnage dans cette tâche, vous utiliserez un module légèrement différent, random.sample().
Cette activité fait partie du cours
Ajustement des hyperparamètres en Python
Instructions de l’exercice
- Créez des listes des valeurs
'gini'et'entropy'pourcriterionet"auto", "sqrt", "log2", Nonepourmax_features. - Créez une liste de valeurs entre 3 et 55 inclusivement 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 à partir de laquelle é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 ce code d’exemple.
# 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(____)