in data science, Modele Statystyczne, Programowanie w R

Piłka nożna – Las losowy i XGBoost

Ostatnimi modelami, które wypróbuję będą las losowy i XGBoost. Sprawdźmy jak dobre rezultaty uda się uzyskać wykorzystując te algorytmy oparte na drzewach decyzyjnych.

Las losowy

Zaczynam od lasu losowego z intuicyjnie dobranymi parametrami:

  • liczba drzew – 300,
  • liczba zmiennych losowanych przy każdym podziale – 7
  • minimalny rozmiar liścia  – 150

Do walidacji używam metody k-fold z k=4.

Uzyskane wyniki na zbiorze walidacyjnym to:

  • ROC AUC: 0.638
  • Dokładność: 60,6%

Do wyniku bukmacherów jeszcze trochę brakuje. Biorąc jednak pod uwagę nieskomplikowanie modelu i konstrukcję zmiennych, myślę, że możemy już być zadowoleni z tego wyniku.

XGBoost

Do tuningu parametrów w przypadku XGBoost używam pakietu RBayesianOptimization, który ma być lepszym wyborem niż standardowy random search. Po optymalizacji uzyskałem wynik niewiele lepszy od lasu losowego. Nie ma tutaj większej różnicy. Metryki na zbiorze walidacyjnym wyglądają następująco:

  • ROC AUC: 0.640
  • Dokładność: 60.9%

Parametry modelu to:

Parametry XGBoost

Myślę, że jak na tak prostą konstrukcję zmiennych to wynik nie jest zły. Weźmy pod uwagę, że w wystawianie kursów przez bukmacherów są zaangażowane całe działy specjalistów z dostępem do dużo bardziej szczegółowych danych. Tak przynajmniej to sobie wyobrażam 🙂

Zastanawiam się o ile jeszcze jestem w stanie poprawić ten wynik. Poświęcę chyba jeszcze trochę czasu na wygenerowanie większej liczby zmiennych i sprawdzę co da się z tym zrobić.

Write a Comment

Comment