Zacznij terazZacznij za darmo

Przeszukiwanie siatki hiperparametrów

W poprzedniej lekcji zbudowaliśmy bazowy model Gradient Boosting. Twoim zadaniem jest teraz znalezienie najlepszej wartości hiperparametru max_depth dla tego modelu. Hiperparametr ten ogranicza liczbę węzłów w każdym pojedynczym drzewie. Do oceny lokalnej wydajności modelu dla każdej wartości hiperparametru użyjesz kroswalidacji K-fold.

Do dyspozycji masz funkcję get_cv_score(), która przyjmuje zbiór treningowy oraz słownik parametrów modelu, a zwraca ogólny wynik RMSE na zbiorze walidacyjnym dla kroswalidacji 3-fold.

To ćwiczenie jest częścią kursu

Zwycięstwo w konkursie Kaggle w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj siatkę możliwych wartości max_depth: 3, 6, 9, 12 i 15.
  • Przekaż każdy kandydujący hiperparametr z siatki do słownika parametrów modelu params.

Interaktywne ćwiczenie praktyczne

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

# Possible max depth values
max_depth_grid = [____]
results = {}

# For each value in the grid
for max_depth_candidate in max_depth_grid:
    # Specify parameters for the model
    params = {'max_depth': ____}

    # Calculate validation score for a particular hyperparameter
    validation_score = get_cv_score(train, params)

    # Save the results for each max depth value
    results[max_depth_candidate] = validation_score   
print(results)
Edytuj i uruchom kod