Combinar Preditores Usando Stacking

Beginner

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

Introdução

Neste laboratório, utilizaremos o método Stacking para combinar vários estimadores e realizar previsões. Nesta estratégia, alguns estimadores são ajustados individualmente em alguns dados de treino, enquanto um estimador final é treinado utilizando as previsões empilhadas destes estimadores base. Utilizaremos o conjunto de dados Ames Housing para prever o preço logarítmico final das casas. Usaremos 3 aprendizes, lineares e não lineares, e utilizaremos um regressor de ridge para combinar suas saídas. Também compararemos o desempenho de cada preditor individual, bem como o da pilha de regressores.

Dicas da Máquina Virtual

Após o arranque da VM, clique no canto superior esquerdo para mudar para a aba Notebook para aceder ao Jupyter Notebook para a prática.

Por vezes, pode ser necessário esperar 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 tiver problemas durante o aprendizado, não hesite em contactar o Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para si.

Baixar o conjunto de dados

Usaremos o conjunto de dados Ames Housing, inicialmente compilado por Dean De Cock e que ganhou maior notoriedade após ser utilizado num desafio Kaggle. É um conjunto de 1460 casas residenciais em Ames, Iowa, cada uma descrita por 80 características. Usaremos este conjunto para prever o preço logarítmico final das casas. Neste exemplo, usaremos apenas as 20 características mais interessantes, selecionadas utilizando o GradientBoostingRegressor(), e limitaremos o número de entradas.

Criar pipeline para pré-processar os dados

Antes de usarmos o conjunto de dados Ames, precisamos realizar algum pré-processamento. Primeiro, selecionaremos as colunas categóricas e numéricas do conjunto de dados para construir o primeiro passo da pipeline. Em seguida, precisaremos projetar pipelines de pré-processamento que dependam do regressor final. Se o regressor final for um modelo linear, será necessário codificar as categorias em variáveis dummy (one-hot encoding). Se o regressor final for um modelo baseado em árvore, um codificador ordinal será suficiente. Além disso, os valores numéricos precisam ser padronizados para um modelo linear, enquanto os dados numéricos brutos podem ser tratados como estão por um modelo baseado em árvore. No entanto, ambos os modelos precisam de um imputador para lidar com valores ausentes.

Empilhamento de preditores em um único conjunto de dados

Agora podemos usar o conjunto de dados Ames Housing para fazer as previsões. Verificamos o desempenho de cada preditor individual, bem como do empilhamento dos regressores. Combinamos 3 aprendizes (lineares e não lineares) e usamos um regressor de ridge para combinar suas saídas. O regressor empilhado combinará as forças dos diferentes regressores. No entanto, também observamos que treinar o regressor empilhado é muito mais caro computacionalmente.

Medir e plotar os resultados

Vamos medir e plotar os resultados do regressor empilhado em comparação com os preditores individuais.

Resumo

Neste laboratório, aprendemos sobre o método Stacking para combinar vários estimadores para fazer previsões. Usamos o conjunto de dados Ames Housing para prever o preço final logarítmico das casas. Também aprendemos como projetar pipelines de pré-processamento que dependem do regressor final e como medir o desempenho de cada preditor individual, bem como do conjunto de regressores.