DecisionTreeRegressor pod maską GradientBoostingClassifier

Oct 30 2020

Sprawdzam słabe estymatory mojego modelu GradientBoostingClassifier. Ten model został dopasowany do zbioru danych klasy binarnej.

Zauważyłem, że wszystkie słabe estymatory w tym klasyfikatorze zbiorczym są obiektami regresorów drzewa decyzyjnego. Intuicyjnie wydaje mi się to dziwne.

Wziąłem pierwsze drzewo decyzyjne w zespole i użyłem go do niezależnego przewidywania na podstawie całego mojego zbioru danych. Unikalne odpowiedzi ze zbioru danych były następujące:

array([-2.74, -1.94, -1.69, ...])

Moje pytanie brzmi: dlaczego i w jaki sposób klasyfikator wzmacniający gradient zmienia słabe estymatory w zadania regresora (zamiast zadań klasyfikacyjnych), które nie są ograniczone przez 0 i 1? Ostatecznie GradientBoostingClassifier generuje pseudoprawdopodobieństwo między 0 a 1: dlaczego zespół słabych estymatorów nie robi tego samego?

Odpowiedzi

OliverFoster Oct 30 2020 at 08:10

Po przeczytaniu większej ilości dokumentacji znalazłem sekcję opisującą przypadek klasyfikacyjny. Można go znaleźć tutaj . Dodatkowo ta statystyka była bardzo przydatna.

1.11.4.5.2. Klasyfikacja

Gradientowe wzmocnienie klasyfikacji jest bardzo podobne do przypadku regresji. Jednak suma drzew nie jest jednorodna z prognozą: nie może być klasą, ponieważ drzewa przewidują wartości ciągłe.

Odwzorowanie wartości na klasę lub prawdopodobieństwo jest zależne od strat. W przypadku odchylenia (lub utraty logarytmu) prawdopodobieństwo należące do klasy dodatniej jest modelowane jako funkcja sigmoidalna. W przypadku klasyfikacji wieloklasowej, drzewa K (dla klas K) są budowane w każdej z iteracji. Prawdopodobieństwo należące do klasy k jest modelowane jako softmax wartości.

Należy zauważyć, że nawet w przypadku zadania klasyfikacyjnego estymator podrzędny jest nadal regresorem, a nie klasyfikatorem. Dzieje się tak, ponieważ estymatory podrzędne są uczone do przewidywania (ujemnych) gradientów, które są zawsze ilościami ciągłymi.