AdaBoost w Sklearn

AdaBoost w Sklearn
„AdaBoost to technika zwiększania gradientu stosowana do konwersji słabych w silnych uczniów. Jest szeroko stosowany w różnych konkurencyjnych platformach uczenia maszynowego. W tym artykule omówiono algorytm ADABOOST, jego zastosowania i jego wdrożenie w Sklearn."

Czym jest uczenie się zespołu?

Łącząc wiele modeli, uczenie się zespołu zwiększa wyniki uczenia maszynowego. W porównaniu z użyciem jednego modelu, ta strategia umożliwia generowanie większej wydajności prognozy. W celu zmniejszenia wariancji (workowania), zmniejszenia stronniczości (wzmocnienie) i poprawy prognoz, podejście zespołowe łączą wiele technik uczenia maszynowego w jeden model predykcyjny (układanie).

Co to jest adaboost?

AdaBoost jest przykładem „uczenia się zespołów”, który obejmuje wykorzystywanie wielu uczniów do stworzenia bardziej skutecznego algorytmu uczenia się. ADABOOST działa, wybierając podstawowy algorytm (taki jak drzewa decyzyjne) i stopniowo go wzmacniając, biorąc pod uwagę niewłaściwe skategoryzowane próbki w zestawie szkoleniowym. Wybieramy podstawową metodę i dajemy każdemu przykładowi tej samej wagi. Zestaw treningowy podlega algorytmowi podstawowym przy każdej iteracji, a wagi przypadków, które zostały błędnie skategoryzowane, są zwiększone. Stosujemy uczniem bazowego do zestawu treningowego z zaktualizowanymi wagami za każdym razem, gdy powtarzamy czas „n”. Średnia ważona uczniów „N” składa się z ostatecznego modelu.

Dlaczego używamy adaboost?

Ponieważ parametry wejściowe w algorytmie ADABOOST nie są jednocześnie zoptymalizowane, nadmierne dopasowanie jest mniejsze. Stosując AdaBoost, dokładność słabych klasyfikatorów można zwiększyć. Zamiast problemów z klasyfikacją binarną, ADABOOST jest również wykorzystywany do rozwiązywania problemów z klasyfikacją tekstu i obrazu. ADABOOST jest również często stosowany w trudnych problemach z uczeniem maszynowym.

Wdrażanie AdaBoost w Sklearn

Importowanie bibliotek
ze Sklearn.Ensemble Import AdaBoostClassifier
ze Sklearn.Zestawy danych importuj Make_classification
Tworzenie zestawu danych
X, y = Make_classification (n_samples = 500, n_features = 4, n_informative = 2, n_redundant = 0, Random_State = 0, shuffle = false)
print („Dane funkcji to”, x)
print („Dane etykiety to”, y)

Wyjście

Dane cech to [[0.44229321 0.08089276 0.54077359 -1.81807763]
[1.34699113 1.48361993 -0.04932407 0.2390336]
[-0.54639809 -1.1629494 -1.00033035 1.67398571]

[0.8903941 1.08980087 -1.53292105 -1.71197016]
[0.73135482 1.25041511 0.04613506 -0.95837448]
[0.26852399 1.70213738 -0.08081161 -0.70385904]]
Dane etykiet to [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]

Tworzenie modelu i prognozy

clf = adaboostclassifier (n_estimators = 100, losowo_state = 0)
clf.Fit (x, y)
druk („etykieta wyjściowa to”, CLF.przewidzieć [[[1.5, 1, 0.5, -0.5]]))
Drukuj („Wynik klasyfikacji to”, CLF.wynik (x, y))

Wyjście

Etykieta wyjściowa to [1]
Wynik klasyfikacji to 0.94

Wniosek

Omówiliśmy algorytm ADABOOST w uczeniu maszynowym, w tym uczenie się zespołu, jego zalety i wdrożenie w Sklearn. Jest to pomocny algorytm, ponieważ wykorzystuje zestaw modeli do decydowania o wyniku zamiast jednego, a także przekształca słabszych uczniów na silnych uczniów. Sklearn zapewnia implementację AdaBoost w klasie „Zespół”, gdzie zapewniamy niestandardowe parametry dla modelu.