Gradient Boosting Classifier

Gradient Boosting Classifier to metoda klasyfikacji, która polega na wytrenowaniu wielu słabych klasyfikatorów i złożeniu ich w jeden silny klasyfikator. Słabymi klasyfikatorami nazywa się te, które nie są zbyt dokładne, ale lepsze od losowego wybierania.

Gradient Boosting Classifier działa w następujący sposób:

  1. Inicjalizowany jest model zerowy, który przewiduje etykiety dla całego zbioru danych.
  2. Dla każdej iteracji:
    1. Oblicza się różnicę między przewidywaną a faktyczną etykietą dla każdego elementu zbioru danych.
    2. Trenuje się słaby klasyfikator, tak by minimalizował błąd.
    3. Złożenie nowego klasyfikatora do modelu.
    4. Aktualizacja modelu – dodanie nowego klasyfikatora do modelu zerowego.

Gradient Boosting Classifier jest skuteczną metodą klasyfikacji, która dobrze radzi sobie z dużymi zbiorami danych i cechami o dużym zróżnicowaniu. Jest też odporny na przetrenowywanie i dobrze radzi sobie z niepełnymi zbiorami danych.

from sklearn.ensemble import GradientBoostingClassifier

# Przygotowanie danych - załóżmy, że mamy zbiór treningowy zawierający cechy oraz etykiety
X = [[1, 2], [2, 4], [3, 6], [4, 8]]  # cechy
y = [0, 0, 1, 1]  # etykiety

# Utworzenie klasyfikatora Gradient Boosting z 50 drzewami decyzyjnymi
clf = GradientBoostingClassifier(n_estimators=50)

# Trenowanie klasyfikatora na danych treningowych
clf.fit(X, y)

# Przewidywanie etykiet dla nowych danych
predictions = clf.predict([[5, 10], [1, 3]])

# Wynik: predictions zawiera [1, 0] - czyli przewiduje, że pierwszy obiekt należy do klasy 1, a drugi do klasy 0

W tym przykładzie został utworzony klasyfikator Gradient Boosting z 50 drzewami decyzyjnymi. Klasyfikator został wytrenowany na danych treningowych (X i y) i następnie zostały wykonane prognozy dla dwóch nowych próbek (X = [[5, 10], [1, 3]]). Klasyfikator przewiduje, że pierwsza próbka należy do klasy 1, a druga do klasy 0.