CommencerCommencer gratuitement

L’objet RandomizedSearchCV

Tout comme la bibliothèque GridSearchCV de Scikit Learn, RandomizedSearchCV offre de nombreuses fonctionnalités utiles pour mener 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 Gradient Boosting Classifier
  • Une validation croisée en 5 plis
  • Utiliser la précision (accuracy) pour évaluer les modèles
  • Utiliser 4 cœurs pour le traitement en parallèle
  • Veiller à réentraîner 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 entre 20 et 64 incluses).

Vous disposez des jeux de données X_train et y_train.

Cet exercice fait partie du cours

Optimisation des hyperparamètres en Python

Afficher le cours

Instructions

  • Créez une grille de paramètres comme indiqué dans le contexte ci-dessus.
  • Créez un objet RandomizedSearchCV comme décrit dans le contexte ci-dessus.
  • Ajustez l’objet RandomizedSearchCV sur les 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 cet exemple de code.

# 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