1. Nauka
  2. /
  3. Kursy
  4. /
  5. Extreme Gradient Boosting with XGBoost

Connected

ćwiczenie

Automatyczny dobór liczby rund boostingu z użyciem early_stopping

Zamiast ręcznie szukać optymalnej liczby rund boostingu, możesz pozwolić, żeby XGBoost sam ją dobrał – za pomocą funkcji xgb.cv(). Służy do tego technika zwana wczesnym zatrzymaniem (early stopping).

Wczesne zatrzymanie polega na tym, że po każdej rundzie boostingu model jest oceniany na zbiorze walidacyjnym. Jeśli wybrana metryka ("rmse" w naszym przypadku) nie poprawia się przez określoną liczbę rund, trening zostaje zakończony przed osiągnięciem maksymalnej liczby rund. Pamiętaj, że jeśli metryka na zbiorze walidacyjnym stale się poprawia aż do osiągnięcia wartości num_boost_rounds, wczesne zatrzymanie nie zostanie uruchomione.

Obiekt DMatrix oraz słownik parametrów zostały już dla ciebie przygotowane. Twoim zadaniem jest przeprowadzenie kroswalidacji z wczesnym zatrzymaniem. Do dzieła!

Instrukcje

100 XP
  • Przeprowadź 3-krotną kroswalidację z wczesnym zatrzymaniem, używając "rmse" jako metryki. Ustaw 10 rund wczesnego zatrzymania i 50 rund boostingu. Podaj wartość seed równą 123 i upewnij się, że wynik jest zwracany jako DataFrame biblioteki pandas. Pamiętaj o podaniu pozostałych parametrów, takich jak dtrain, params i metrics.
  • Wyświetl cv_results.