O algoritmo de árvore de regressão com gradient boosting (GBRT) é um método de ensemble de boosting que constrói uma sequência de árvores de regressão, na qual cada árvore corrige os resíduos das anteriores. O PolarDB for MySQL oferece suporte ao GBRT como modelo de regressão interno por meio da extensão polar4ai, o que permite treinar, avaliar e executar previsões diretamente em SQL.
Como funciona
O GBRT pertence à família de algoritmos de boosting. O aprendiz fraco restringe-se ao modelo de árvore de regressão CART. O GBRT combina dois componentes:
Árvore de regressão (RT): Variante de árvore de decisão que prevê valores contínuos. O GBRT encadeia várias árvores de regressão e acumula suas saídas para gerar a previsão final.
Gradient boosting (GB): Estratégia iterativa em que cada nova árvore se ajusta aos resíduos das árvores anteriores. Esse processo utiliza o algoritmo de distribuição progressiva para minimizar a função de perda em cada etapa, permitindo que cada árvore aprenda com as conclusões e os resíduos das precedentes.
Casos de uso
O GBRT é adequado para problemas de regressão cujo alvo é um valor numérico contínuo. Um exemplo é a previsão de mortalidade ou morbidade (y_cols) com base em variáveis socioeconômicas como renda, nível de escolaridade ou status socioeconômico, cenário comum em modelagem epidemiológica.
Parâmetros
Os parâmetros a seguir correspondem ao argumento model_parameter na instrução CREATE MODEL.
As colunas x_cols e y_cols devem ser do tipo ponto flutuante ou inteiro.
|
Parâmetro |
Tipo |
Padrão |
Descrição |
|
|
Inteiro (geralmente positivo) |
100 |
Número de iterações de boosting. Valores maiores melhoram o ajuste do modelo. |
|
|
String |
|
Função de perda. Valores válidos: |
|
|
Inteiro |
7 |
Profundidade máxima de cada árvore de regressão. Defina como |
|
|
Inteiro (geralmente positivo) |
1 |
Semente aleatória para garantir reprodutibilidade. |
Exemplos
Os exemplos a seguir demonstram o fluxo completo de treinamento, avaliação de precisão e execução de previsões de um modelo. Eles utilizam o prefixo de hint /*polar4ai*/, obrigatório para a extensão polar4ai.
Etapa 1: Crie o modelo
/*polar4ai*/CREATE MODEL gbrt1 WITH
( model_class = 'gbrt', x_cols = 'dx1,dx2', y_cols='y',
model_parameter=(objective='ls')) AS (SELECT * FROM db4ai.testdata1);
Etapa 2: Avaliar o modelo
/*polar4ai*/SELECT dx1,dx2 FROM EVALUATE(MODEL gbrt1,
SELECT * FROM db4ai.testdata1 LIMIT 10) WITH
(x_cols = 'dx1,dx2',y_cols='y',metrics='r2_score');
Etapa 3: Execute previsões
/*polar4ai*/SELECT dx1,dx2 FROM
PREDICT(MODEL gbrt1, SELECT * FROM db4ai.testdata1 LIMIT 10)
WITH (x_cols = 'dx1,dx2');