DecisionTreeRegressor sotto il cofano di GradientBoostingClassifier
Sto esaminando gli stimatori deboli del mio modello GradientBoostingClassifier. Questo modello si adattava a un set di dati di classi binarie.
Ho notato che tutti gli stimatori deboli sotto questo classificatore di insieme sono oggetti regressori dell'albero decisionale. Questo mi sembra strano intuitivamente.
Ho preso il primo albero decisionale nell'insieme e l'ho usato per prevedere in modo indipendente su tutto il mio set di dati. Le risposte uniche dal set di dati erano le seguenti:
array([-2.74, -1.94, -1.69, ...])
La mia domanda è: perché e come il classificatore che aumenta il gradiente trasforma gli stimatori deboli in compiti regressori (invece di compiti di classificazione) che non sono vincolati da 0 e 1? Infine il GradientBoostingClassifier restituisce una pseudo-probabilità tra 0 e 1: perché l'insieme di stimatori deboli non fa lo stesso?
Risposte
Dopo aver letto più documentazione ho trovato la sezione che copre il caso di classificazione. Può essere trovato qui . Inoltre questo statquest è stato molto utile.
1.11.4.5.2. Classificazione
L'aumento del gradiente per la classificazione è molto simile al caso di regressione. Tuttavia, la somma degli alberi non è omogenea a una previsione: non può essere una classe, poiché gli alberi prevedono valori continui.
La mappatura dal valore a una classe o una probabilità dipende dalla perdita. Per la devianza (o log-loss), la probabilità che appartiene alla classe positiva è modellata come dove si trova la funzione sigmoide. Per la classificazione multiclasse, gli alberi K (per le classi K) vengono creati in ciascuna delle iterazioni. La probabilità che appartiene alla classe k è modellata come un softmax dei valori.
Si noti che anche per un'attività di classificazione, il sotto-stimatore è ancora un regressore, non un classificatore. Questo perché i sotto-stimatori sono addestrati a prevedere gradienti (negativi), che sono sempre quantità continue.