Zacznij terazZacznij za darmo

RandomSearchCV w Scikit Learn

Przećwicz tworzenie obiektu RandomizedSearchCV przy użyciu Scikit Learn.

Siatka hiperparametrów powinna obejmować max_depth (wszystkie wartości od 5 do 25 włącznie) oraz max_features ('auto' i 'sqrt').

Obiekt RandomizedSearchCV skonfiguruj z następującymi opcjami:

  • Estymator RandomForestClassifier z n_estimators równym 80.
  • 3-krotna walidacja krzyżowa (cv)
  • Użyj roc_auc do oceny modeli
  • Użyj 4 rdzeni do przetwarzania równoległego (n_jobs)
  • Upewnij się, że najlepszy model zostanie ponownie dopasowany, a wyniki trenowania zwrócone
  • Próbkuj tylko 5 modeli dla zwiększenia wydajności (n_iter)

Zbiory danych X_train i y_train są już wczytane.

Pamiętaj: wybrane hiperparametry znajdziesz w cv_results_ – każdy hiperparametr ma osobną kolumnę. Na przykład kolumna dla hiperparametru criterion nosi nazwę param_criterion.

To ćwiczenie jest częścią kursu

Strojenie hiperparametrów w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz siatkę hiperparametrów zgodnie ze specyfikacją podaną powyżej.
  • Utwórz obiekt RandomizedSearchCV zgodnie z opisem powyżej.
  • Dopasuj obiekt RandomizedSearchCV do danych treningowych.
  • Odwołaj się do obiektu cv_results_, aby wyświetlić wartości wybrane przez proces modelowania dla obu hiperparametrów (max_depth i max_features).

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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_[____])
Edytuj i uruchom kod