Ensembling – podsumowanie

Metody zespołowe w Pythonie

Román de las Heras

Data Scientist, Appodeal

Rozdział 1: Voting i Averaging

Voting

  • Kombinacja: dominanta (większość)
  • Klasyfikacja
  • Heterogeniczna metoda zespołowa

Averaging

  • Kombinacja: średnia
  • Klasyfikacja i regresja
  • Heterogeniczna metoda zespołowa

Dobry wybór, gdy:

  • Zbudowano wiele różnych modeli
  • Nie wiadomo, który jest najlepszy
  • Celem jest poprawa ogólnej wydajności
Metody zespołowe w Pythonie

Rozdział 2: Bagging

Słaby estymator

  • Działa nieznacznie lepiej niż losowe zgadywanie
  • Lekki i szybki model
  • Podstawa homogenicznych metod zespołowych

Bagging (Bootstrap Aggregating)

  • Losowe podpróbki ze zwracaniem
  • Duża liczba „słabych" estymatorów
  • Agregacja przez Voting lub Averaging
  • Homogeniczna metoda zespołowa

Dobry wybór, gdy:

  • Celem jest redukcja wariancji
  • Konieczne jest unikanie przeuczenia
  • Wymagana jest większa stabilność i odporność

* Uwaga:

  • Bagging jest obliczeniowo kosztowny
Metody zespołowe w Pythonie

Rozdział 3: Boosting

Stopniowe uczenie

  • Typ homogenicznej metody zespołowej
  • Oparte na uczeniu iteracyjnym
  • Sekwencyjne budowanie modeli

Algorytmy boostingu

  • AdaBoost
  • Gradient Boosting:
    • XGBoost
    • LightGBM
    • CatBoost

Dobry wybór, gdy:

  • Problemy są złożone
  • Wymagane jest przetwarzanie równoległe lub rozproszone
  • Dane są duże lub mają wielowymiarowe cechy kategoryczne
Metody zespołowe w Pythonie

Rozdział 4: Stacking

Stacking

  • Kombinacja: meta-estymator (model)
  • Klasyfikacja i regresja
  • Heterogeniczna metoda zespołowa

Implementacja

  • Od podstaw z pandas i sklearn
  • Z biblioteką MLxtend

Dobry wybór, gdy:

  • Wypróbowano Voting / Averaging, ale wyniki są niezadowalające
  • Zbudowane modele dobrze działają w różnych przypadkach
Metody zespołowe w Pythonie

Dziękujemy – świetny ensembling!

Metody zespołowe w Pythonie

Preparing Video For Download...