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
Instrukcje do ćwiczenia
- Utwórz siatkę parametrów zgodnie z opisem powyżej.
- Utwórz obiekt
RandomizedSearchCVzgodnie z opisem powyżej. - Dopasuj obiekt
RandomizedSearchCVdo 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_['____'])