1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Extreme Gradient Boosting with XGBoost

Connected

cvičení

Automatický výběr počtu kol boostingu pomocí early_stopping

Místo ručního hledání optimálního počtu kol boostingu můžeš nechat XGBoost, aby ho za tebe vybral automaticky přímo v xgb.cv(). Slouží k tomu technika zvaná early stopping.

Early stopping funguje tak, že po každém kole boostingu testuje model XGBoost na validační sadě a zastaví trénink (tedy ukončí přidávání dalších kol), pokud se zvolená metrika ("rmse" v našem případě) po zadaný počet kol nezlepší. Tady použiješ parametr early_stopping_rounds v xgb.cv() s velkým maximálním počtem kol (50). Měj na paměti, že pokud se validační metrika neustále zlepšuje až do dosažení hodnoty num_boost_rounds, k early stoppingu nedojde.

DMatrix a slovník parametrů jsou už pro tebe připraveny. Tvůj úkol je spustit křížovou validaci s early stoppingem. Jde se na to!

Pokyny

100 XP
  • Proveď 3-násobnou křížovou validaci s early stoppingem a jako metriku použij "rmse". Nastav 10 kol pro early stopping a 50 kol boostingu. Zadej seed s hodnotou 123 a zajisti, aby výstup byl pandas DataFrame. Nezapomeň zadat i ostatní parametry, jako jsou dtrain, params a metrics.
  • Vypiš cv_results.