IniziaInizia gratis

RandomizedSearchCV in Scikit Learn

Esercitiamoci a costruire un oggetto RandomizedSearchCV usando Scikit Learn.

La griglia degli iperparametri deve includere max_depth (tutti i valori tra 5 e 25, inclusi) e max_features ('auto' e 'sqrt').

Le opzioni desiderate per l'oggetto RandomizedSearchCV sono:

  • Un Estimator RandomForestClassifier con n_estimators pari a 80.
  • Cross validation a 3 fold (cv)
  • Usa roc_auc per valutare i modelli
  • Usa 4 core per l'elaborazione in parallelo (n_jobs)
  • Assicurati di effettuare il refit del modello migliore e di restituire gli score di training
  • Esegui il campionamento di soli 5 modelli per efficienza (n_iter)

Gli insiemi di dati X_train e y_train sono già caricati per te.

Ricorda: per estrarre gli iperparametri scelti, li trovi in cv_results_, con una colonna per ogni iperparametro. Per esempio, la colonna per l'iperparametro criterion è param_criterion.

Questo esercizio fa parte del corso

Ottimizzazione degli iperparametri in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una griglia di iperparametri come specificato sopra.
  • Crea un oggetto RandomizedSearchCV come descritto sopra.
  • Esegui il fit dell'oggetto RandomizedSearchCV sui dati di training.
  • Fai l'indicizzazione in cv_results_ per stampare i valori scelti dal processo di modellazione per entrambi gli iperparametri (max_depth e max_features).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create the parameter grid
param_grid = {'max_depth': list(range(____,26)), 'max_features': [____ , ____]} 

# Create a random search object
random_rf_class = RandomizedSearchCV(
    estimator = ____(n_estimators=____),
    param_distributions = ____, n_iter = ____,
    scoring=____, n_jobs=____, cv = ____, refit=____, return_train_score = ____ )

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

# Print the values used for both hyperparameters
print(random_rf_class.cv_results_[____])
print(random_rf_class.cv_results_[____])
Modifica ed esegui il codice