S16L02 – Modelo de Regressão do Template Mestre – Modelos e Avaliação

Dominando a Previsão de Preços de Carros com Modelos de Regressão Avançados: Um Guia Abrangente

Índice

  1. Introdução
  2. Visão Geral do Conjunto de Dados
  3. Importação de Dados e Exploração Inicial
  4. Limpeza e Pré-processamento de Dados
    1. Tratamento de Dados Numéricos Faltantes
    2. Tratamento de Dados Categóricos Faltantes
  5. Seleção e Codificação de Características
    1. Removendo Características Irrelevantes
    2. Codificação One-Hot de Variáveis Categóricas
  6. Divisão de Treino e Teste
  7. Escalonamento de Características
  8. Construção e Avaliação de Modelos de Regressão
    1. 1. Regressão Linear
    2. 2. Regressão Linear Polinomial
    3. 3. Regressão com Árvore de Decisão
    4. 4. Regressão com Floresta Aleatória
    5. 5. Regressão AdaBoost
    6. 6. Regressão XGBoost
    7. 7. Regressão por Vetores de Suporte (SVR)
  9. Comparação de Desempenho dos Modelos
  10. Conclusão

Introdução

A análise preditiva capacita as empresas a antecipar tendências futuras, otimizar operações e aprimorar processos de tomada de decisão. Previsão de preços de carros é um exemplo clássico onde modelos de machine learning podem prever os preços de veículos com base em atributos como marca, especificações do motor, tipo de combustível e mais. Este guia acompanha você na construção de um pipeline abrangente de modelos de regressão, desde o pré-processamento de dados até a avaliação de múltiplos algoritmos de regressão.

Visão Geral do Conjunto de Dados

O Conjunto de Dados de Previsão de Preços de Carros no Kaggle é um recurso rico contendo 205 entradas com 26 características cada. Essas características abrangem vários aspectos dos carros, como número de portas, tamanho do motor, potência, tipo de combustível e mais, todos os quais influenciam o preço de mercado do carro.

Características Principais:

  • CarName: Nome do carro (marca e modelo)
  • FuelType: Tipo de combustível usado (por exemplo, gasolina, diesel)
  • Aspiration: Tipo de aspiração do motor
  • Doornumber: Número de portas (duas ou quatro)
  • Enginesize: Tamanho do motor
  • Horsepower: Potência do motor
  • Price: Preço de mercado do carro (variável alvo)

Importação de Dados e Exploração Inicial

Primeiro, importamos o conjunto de dados usando pandas e damos uma olhada preliminar na estrutura dos dados.

Exemplo de Saída:

Limpeza e Pré-processamento de Dados

Tratamento de Dados Numéricos Faltantes

Valores ausentes podem distorcer significativamente o desempenho dos modelos de machine learning. Primeiro, tratamos os dados numéricos faltantes imputando com o valor médio.

Tratamento de Dados Categóricos Faltantes

Para variáveis categóricas, valores ausentes são imputados usando a estratégia mais frequente.

Seleção e Codificação de Características

Removendo Características Irrelevantes

A coluna car_ID é um identificador único e não contribui para o poder preditivo do modelo. Portanto, ela é removida.

Codificação One-Hot de Variáveis Categóricas

Algoritmos de machine learning exigem entrada numérica. Portanto, variáveis categóricas são transformadas usando Codificação One-Hot.

Antes da Codificação:

  • Forma: (205, 24)

Após a Codificação:

  • Forma: (205, 199)

Divisão de Treino e Teste

Dividir o conjunto de dados em conjuntos de treino e teste é crucial para avaliar o desempenho do modelo.

Saída:

Escalonamento de Características

O escalonamento de características garante que todas as características contribuam igualmente para o desempenho do modelo. Aqui, usamos Padronização.

Construção e Avaliação de Modelos de Regressão

Exploraremos vários modelos de regressão, avaliando cada um com base na pontuação R².

1. Regressão Linear

A Regressão Linear serve como um modelo de referência.

Pontuação R²: 0.097
Interpretação: O modelo explica aproximadamente 9,7% da variância nos preços dos carros.

2. Regressão Linear Polinomial

Para capturar relações não lineares, introduzimos características polinomiais.

Pontuação R²: -0.45
Interpretação: O modelo apresenta desempenho pior que o modelo de referência, explicando -45% da variância.

3. Regressão com Árvore de Decisão

Árvores de Decisão podem modelar relações complexas partitionando os dados.

Pontuação R²: 0.88
Interpretação: Uma melhoria significativa, explicando 88% da variância.

4. Regressão com Floresta Aleatória

Floresta Aleatória agrega múltiplas Árvores de Decisão para aprimorar o desempenho e mitigar o overfitting.

Pontuação R²: 0.91
Interpretação: Desempenho excelente, explicando 91% da variância.

5. Regressão AdaBoost

AdaBoost combina aprendizes fracos para formar um preditor forte, focando nos erros.

Pontuação R²: 0.88
Interpretação: Comparável à Regressão com Árvore de Decisão, explicando 88% da variância.

6. Regressão XGBoost

XGBoost é um poderoso framework de gradient boosting conhecido por sua eficiência e desempenho.

Pontuação R²: 0.89
Interpretação: Desempenho robusto, explicando 89% da variância.

7. Regressão por Vetores de Suporte (SVR)

SVR é eficaz em espaços de alta dimensão, mas pode ter desempenho inferior com conjuntos de dados maiores.

Pontuação R²: -0.03
Interpretação: Desempenho ruim, explicando -3% da variância.

Comparação de Desempenho dos Modelos

Modelo Pontuação R²
Regressão Linear 0.10
Regressão Linear Polinomial -0.45
Regressão com Árvore de Decisão 0.88
Regressão com Floresta Aleatória 0.91
Regressão AdaBoost 0.88
Regressão XGBoost 0.89
Regressão por Vetores de Suporte (SVR) -0.03

Insights:

  • Regressão com Floresta Aleatória supera todos os outros modelos com uma pontuação R² de 0.91, indicando que ela explica 91% da variância nos preços dos carros.
  • Regressão Linear Polinomial teve o pior desempenho, até pior que o modelo de referência, sugerindo overfitting ou transformação inadequada das características.
  • Regressão por Vetores de Suporte (SVR) enfrentou dificuldades com este conjunto de dados, possivelmente devido à alta dimensionalidade após a codificação.

Conclusão

A modelagem preditiva para previsão de preços de carros ressalta a importância de selecionar o algoritmo certo e realizar um pré-processamento de dados completo. Em nossa exploração:

  • Modelos de Árvore de Decisão e Floresta Aleatória demonstraram desempenho excepcional, com a Floresta Aleatória ligeiramente superando os demais.
  • Métodos de ensemble como AdaBoost e XGBoost também apresentaram resultados fortes, destacando sua eficácia em lidar com conjuntos de dados complexos.
  • Modelos lineares, especialmente quando estendidos para características polinomiais, nem sempre resultam em melhor desempenho e, às vezes, podem degradar a eficácia do modelo.
  • Regressão por Vetores de Suporte (SVR) pode não ser a melhor opção para conjuntos de dados com alta dimensionalidade ou onde padrões não lineares são menos pronunciados.

Principais Lições:

  1. Pré-processamento de Dados: Tratar valores ausentes e codificar variáveis categóricas são etapas cruciais que influenciam significativamente o desempenho do modelo.
  2. Escalonamento de Características: Garante que todas as características contribuam igualmente, melhorando a eficiência de algoritmos baseados em gradiente.
  3. Seleção de Modelo: Métodos de ensemble como Florestas Aleatórias e XGBoost frequentemente proporcionam desempenho superior em tarefas de regressão.
  4. Avaliação de Modelo: A pontuação R² é uma métrica valiosa para avaliar quão bem as previsões se aproximam dos resultados reais.

Iniciar a previsão de preços de carros utilizando modelos de regressão avançados não apenas aprimora a precisão preditiva, mas também equipa os stakeholders com insights acionáveis sobre a dinâmica do mercado. Conforme o campo de machine learning continua a evoluir, manter-se atualizado com os últimos algoritmos e técnicas permanece essencial para entusiastas e profissionais de dados.

Partilhe o seu amor