Intervalos de Previsão para Regressão Boosting Gradiente

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Este laboratório demonstra como usar regressão quantile para criar intervalos de previsão usando o scikit-learn. Vamos gerar dados sintéticos para um problema de regressão, aplicar a função a eles e criar observações do alvo usando uma distribuição lognormal. Em seguida, dividiremos os dados em conjuntos de treinamento e teste, ajustaremos regressores quantile não lineares e de mínimos quadrados e criaremos um conjunto de avaliação com valores de entrada espaçados uniformemente, abrangendo a faixa [0, 10]. Compararemos a mediana prevista com a média prevista, analisaremos as métricas de erro e calibraremos o intervalo de confiança. Finalmente, ajustaremos os hiperparâmetros dos regressores quantile.

Dicas da Máquina Virtual

Após o término do inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você encontrar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos o problema rapidamente para você.

Gerar Dados Sintéticos

Vamos gerar dados sintéticos para um problema de regressão aplicando a função a entradas aleatórias amostradas uniformemente. Para tornar o problema mais interessante, geramos observações do alvo y como a soma de um termo determinístico calculado pela função f e um termo de ruído aleatório que segue uma distribuição log-normal centrada. A distribuição log-normal é assimétrica e tem caudas longas: observar outliers grandes é provável, mas é impossível observar outliers pequenos.

Dividir os Dados em Conjuntos de Treinamento e Teste

Dividiremos os dados em conjuntos de treinamento e teste.

Ajustar Regressores de Quantiles Não Lineares e de Mínimos Quadrados

Ajustaremos modelos de gradient boosting treinados com a função de perda de quantil e alpha=0,05, 0,5 e 0,95. Os modelos obtidos para alpha=0,05 e alpha=0,95 produzem um intervalo de confiança de 90%. O modelo treinado com alpha=0,5 produz uma regressão da mediana.

Criar um Conjunto de Avaliação com Valores de Entrada Espalhados Uniformmente

Criaremos um conjunto de avaliação com valores de entrada espaçados uniformemente, abrangendo a faixa de [0, 10].

Plotar a Função de Média Condicional Verdadeira f

Plotaremos a função de média condicional verdadeira f, as previsões da média condicional (perda igual a erro quadrático), a mediana condicional e o intervalo condicional de 90% (dos percentis condicionais de 5º a 95º).

Analisar as Métricas de Erro

Avaliaremos os modelos com as métricas mean_squared_error e mean_pinball_loss no conjunto de dados de treino. Uma coluna mostrará todos os modelos avaliados pela mesma métrica.

Ajustar os Hiperparâmetros dos Regressores de Quantil

Ajustaremos os hiperparâmetros de um novo regressor do 5º percentil, selecionando os melhores parâmetros do modelo por validação cruzada na perda de pinball com alpha=0,05. Em seguida, ajustaremos os hiperparâmetros para o regressor do 95º percentil.

Resumo

Este laboratório demonstrou como usar regressão de quantil para criar intervalos de previsão usando o scikit-learn. Geramos dados sintéticos para um problema de regressão, aplicamos a função a eles e criamos observações da variável-alvo usando uma distribuição log-normal. Dividimos os dados em conjuntos de treino e teste, ajustamos regressores de quantil não-lineares e de mínimos quadrados, e criamos um conjunto de avaliação com valores de entrada igualmente espaçados, abrangendo a faixa [0, 10]. Comparámos a mediana prevista com a média prevista, analisámos as métricas de erro e calibramos o intervalo de confiança. Finalmente, ajustámos os hiperparâmetros dos regressores de quantil.