1. Nauka
  2. /
  3. Kursy
  4. /
  5. Zwycięstwo w konkursie Kaggle w Pythonie

Connected

ćwiczenie

Przeszukiwanie siatki 2D

Wadą strojenia każdego hiperparametru z osobna jest potencjalna zależność między różnymi hiperparametrami. Lepszym podejściem jest wypróbowanie wszystkich możliwych kombinacji hiperparametrów. W takich przypadkach przestrzeń przeszukiwania siatki szybko jednak rośnie. Na przykład, jeśli mamy 2 parametry z 10 możliwymi wartościami, otrzymujemy 100 eksperymentów do uruchomienia.

Twoim celem jest znalezienie najlepszej pary hiperparametrów max_depth i subsample dla modelu Gradient Boosting. subsample to ułamek obserwacji używanych do dopasowania poszczególnych drzew.

Do dyspozycji masz funkcję get_cv_score(), która przyjmuje zbiór treningowy oraz słownik parametrów modelu jako argumenty i zwraca ogólny wynik RMSE walidacji po 3-krotnej walidacji krzyżowej.

Instrukcje

100 XP
  • Zdefiniuj siatki możliwych wartości dla max_depth i subsample. Dla max_depth: 3, 5 i 7. Dla subsample: 0,8, 0,9 i 1,0.
  • Zastosuj funkcję product() z pakietu itertools do siatek hiperparametrów. Zwraca ona wszystkie możliwe kombinacje dla tych dwóch siatek.
  • Przekaż każdą parę kandydatów hiperparametrów do słownika params modelu.