DecisionTreeRegressor sob o capô de GradientBoostingClassifier
Estou inspecionando os estimadores fracos do meu modelo GradientBoostingClassifier. Este modelo foi ajustado em um conjunto de dados de classe binária.
Percebi que todos os estimadores fracos nesse classificador de conjunto são objetos de regressor de árvore de decisão. Isso me parece estranho intuitivamente.
Peguei a primeira árvore de decisão do conjunto e a usei para prever de forma independente em todo o meu conjunto de dados. As respostas exclusivas do conjunto de dados foram as seguintes:
array([-2.74, -1.94, -1.69, ...])
Minha pergunta é: por que e como o classificador de aumento de gradiente transforma os estimadores fracos em tarefas de regressor (em vez de tarefas de classificação) que não são limitadas por 0 e 1? Em última análise, o GradientBoostingClassifier produz uma pseudo-probabilidade entre 0 e 1: por que o conjunto de estimadores fracos não está fazendo o mesmo?
Respostas
Depois de ler mais da documentação, encontrei a seção que cobre o caso de classificação. Ele pode ser encontrado aqui . Além disso, este statquest foi muito útil.
1.11.4.5.2. Classificação
O aumento de gradiente para classificação é muito semelhante ao caso de regressão. No entanto, a soma das árvores não é homogênea a uma previsão: não pode ser uma classe, pois as árvores predizem valores contínuos.
O mapeamento do valor para uma classe ou probabilidade depende da perda. Para o desvio (ou perda logarítmica), a probabilidade de pertencer à classe positiva é modelada como onde está a função sigmóide. Para classificação multiclasse, árvores K (para classes K) são construídas em cada uma das iterações. A probabilidade de pertencer à classe k é modelada como um softmax dos valores.
Observe que, mesmo para uma tarefa de classificação, o subestimador ainda é um regressor, não um classificador. Isso ocorre porque os subestimadores são treinados para prever gradientes (negativos), que são sempre quantidades contínuas.