Zacznij terazZacznij za darmo

Obiekt RandomizedSearchCV

Podobnie jak GridSearchCV z biblioteki Scikit Learn, RandomizedSearchCV oferuje wiele przydatnych funkcji wspierających efektywne przeprowadzanie losowego przeszukiwania. Stworzysz obiekt RandomizedSearchCV, wprowadzając niewielką zmianę względem obiektu GridSearchCV.

Oczekiwane opcje konfiguracyjne:

  • Domyślny estymator Gradient Boosting Classifier
  • 5-krotna walidacja krzyżowa
  • Ocena modeli według metryki dokładności (accuracy)
  • Wykorzystanie 4 rdzeni do przetwarzania równoległego
  • Ponowne dopasowanie najlepszego modelu i zwracanie wyników treningowych
  • Losowe próbkowanie 10 modeli

Siatka hiperparametrów powinna obejmować learning_rate (150 wartości z przedziału od 0,1 do 2) oraz min_samples_leaf (wszystkie wartości całkowite od 20 do 64 włącznie).

Dostępne będą zbiory danych X_train i y_train.

To ćwiczenie jest częścią kursu

Strojenie hiperparametrów w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz siatkę parametrów zgodnie z opisem powyżej.
  • Utwórz obiekt RandomizedSearchCV zgodnie z opisem powyżej.
  • Dopasuj obiekt RandomizedSearchCV do danych treningowych.
  • Wyświetl wartości wybrane przez proces modelowania dla obu hiperparametrów.

Interaktywne ćwiczenie praktyczne

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

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