IniziaInizia gratis

L'oggetto RandomizedSearchCV

Proprio come la libreria GridSearchCV di Scikit Learn, RandomizedSearchCV offre molte funzionalità utili per eseguire in modo efficiente una ricerca casuale. Creerai un oggetto RandomizedSearchCV, apportando il piccolo aggiustamento necessario rispetto all'oggetto GridSearchCV.

Le opzioni desiderate sono:

  • Un Estimatore predefinito Gradient Boosting Classifier
  • Cross validation a 5 fold
  • Usa l'accuracy per valutare i modelli
  • Usa 4 core per l'elaborazione in parallelo
  • Assicurati di riadattare il modello migliore e restituire gli score di training
  • Campiona casualmente 10 modelli

La griglia degli iperparametri deve includere learning_rate (150 valori tra 0.1 e 2) e min_samples_leaf (tutti i valori tra 20 e 64 inclusi).

Avrai a disposizione gli insiemi di dati X_train e y_train.

Questo esercizio fa parte del corso

Ottimizzazione degli iperparametri in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una griglia di parametri come specificato nel contesto sopra.
  • Crea un oggetto RandomizedSearchCV come descritto nel contesto sopra.
  • Adatta (fit) l'oggetto RandomizedSearchCV ai dati di training.
  • Stampa i valori scelti dal processo di modellazione per entrambi gli iperparametri.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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_['____'])
Modifica ed esegui il codice