CommencezCommencez gratuitement

L'objet RandomizedSearchCV

Tout comme la bibliothèque GridSearchCV de Scikit Learn, RandomizedSearchCV offre de nombreuses fonctionnalités utiles pour réaliser efficacement une recherche aléatoire. Vous allez créer un objet RandomizedSearchCV, en apportant le léger ajustement nécessaire par rapport à l'objet GridSearchCV.

Les options souhaitées sont :

  • Un estimateur par défaut de type Gradient Boosting Classifier
  • Validation croisée à 5 volets (5-fold)
  • Utiliser l'exactitude (accuracy) pour évaluer les modèles
  • Utiliser 4 cœurs pour le traitement en parallèle
  • Réajuster (refit) le meilleur modèle et retourner les scores d'entraînement
  • Échantillonner aléatoirement 10 modèles

La grille d'hyperparamètres doit porter sur learning_rate (150 valeurs entre 0.1 et 2) et min_samples_leaf (toutes les valeurs de 20 à 64, inclusivement).

Vous aurez à votre disposition les jeux de données X_train et y_train.

Cette activité fait partie du cours

Ajustement des hyperparamètres en Python

Voir le cours

Instructions de l’exercice

  • Créez une grille de paramètres comme indiqué ci-dessus.
  • Créez un objet RandomizedSearchCV comme décrit ci-dessus.
  • Ajustez (fit) l'objet RandomizedSearchCV aux données d'entraînement.
  • Affichez les valeurs choisies par le processus de modélisation pour les deux hyperparamètres.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))} 

# Create a random search object
random_GBM_class = ____(
    estimator = ____,
    ____ = param_grid,
    ____ = 10,
    scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)

# Fit to the training data
random_GBM_class.fit(____, ____)

# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])
Modifier et exécuter le code