S06L03 – Implementação de regressão linear em Python – Parte 2

Implementando e Avaliando Regressão Linear em Python: Um Guia Abrangente

Linear Regression

Introdução à Regressão Linear

A regressão linear é um dos algoritmos mais fundamentais e amplamente utilizados em aprendizado de máquina e análise de dados. Ela modela a relação entre uma variável dependente e uma ou mais variáveis independentes ajustando uma equação linear aos dados observados. Neste guia, vamos guiá-lo na implementação da regressão linear em Python usando a biblioteca scikit-learn, comparando resultados reais versus previstos e avaliando o desempenho do modelo usando a métrica R-quadrado.

Quer você seja um entusiasta de ciência de dados ou um profissional experiente, este tutorial abrangente fornecerá o conhecimento e as habilidades práticas para construir e avaliar um modelo de regressão linear de forma eficaz.

Índice

  1. Visão Geral do Conjunto de Dados
  2. Configurando Seu Ambiente
  3. Importando as Bibliotecas Necessárias
  4. Carregando e Explorando os Dados
  5. Visualizando os Dados
  6. Preparando os Dados para Treinamento
  7. Construindo o Modelo de Regressão Linear
  8. Fazendo Previsões
  9. Comparando Resultados Reais vs. Previstos
  10. Avaliando o Modelo com R-quadrado
  11. Conclusão
  12. Leitura Adicional

Visão Geral do Conjunto de Dados

Para este tutorial, usaremos o conjunto de dados Renda Per Capita do Canadá do Kaggle. Este conjunto de dados fornece informações sobre a renda per capita anual no Canadá ao longo de vários anos, permitindo-nos analisar tendências de renda e construir um modelo preditivo.

Configurando Seu Ambiente

Antes de mergulhar no código, certifique-se de ter o Python instalado em seu sistema. Recomenda-se usar um ambiente virtual para gerenciar as dependências do seu projeto. Você pode configurar um ambiente virtual usando venv ou ferramentas como conda.

Importando as Bibliotecas Necessárias

Vamos começar importando as bibliotecas essenciais necessárias para manipulação de dados, visualização e construção do nosso modelo de regressão.

Carregando e Explorando os Dados

Em seguida, vamos carregar o conjunto de dados em um DataFrame do Pandas e dar uma olhada preliminar em sua estrutura.

Saída:

A partir da saída, podemos observar que o conjunto de dados contém duas colunas: year e per capita income (US$).

Visualizando os Dados

A visualização ajuda a entender os padrões e relacionamentos subjacentes nos dados. Vamos criar um gráfico de dispersão para visualizar a relação entre o ano e a renda per capita.

Scatter Plot

O gráfico de dispersão revela a tendência de aumento da renda per capita ao longo dos anos. No entanto, a relação pode não ser perfeitamente linear, indicando potencial variabilidade nos dados.

Preparando os Dados para Treinamento

Antes de treinar nosso modelo, precisamos preparar os dados separando as características (variáveis independentes) da variável alvo (variável dependente).

Neste caso, X contém a coluna year, e Y contém a per capita income (US$).

Construindo o Modelo de Regressão Linear

Agora, vamos dividir os dados em conjuntos de treinamento e teste para avaliar o desempenho do nosso modelo em dados não vistos.

Explicação:

  • X_train & y_train: Usados para treinar o modelo.
  • X_test & y_test: Usados para testar o desempenho do modelo.
  • test_size=0.20: 20% dos dados são reservados para teste.
  • random_state=1: Garante a reprodutibilidade da divisão.

Agora, vamos instanciar e treinar o modelo de Regressão Linear.

Saída:

Fazendo Previsões

Com o modelo treinado, agora podemos fazer previsões no conjunto de teste.

Saída:

Esses valores representam as previsões do modelo de renda per capita com base nos anos de entrada no conjunto de teste.

Comparando Resultados Reais vs. Previstos

Para avaliar quão bem nosso modelo está performando, vamos comparar os valores reais (y_test) com os valores previstos (y_pred).

Saída:

Análise:

  • Boas Previsões: Entradas onde os valores Actual e Predicted estão próximos indicam que o modelo está performando bem.
  • Discrepâncias: Diferenças significativas destacam áreas onde o modelo pode precisar de melhorias ou onde a relação não é perfeitamente linear.

Por exemplo, enquanto a maioria das previsões está razoavelmente próxima dos valores reais, algumas discrepâncias, como um valor real de 4.251,18 versus um valor previsto de 1.248,95, sugerem variabilidade que o modelo não conseguiu capturar.

Avaliando o Modelo com R-quadrado

Para avaliar quantitativamente o desempenho do modelo, usaremos a métrica R-quadrado (R²). O R-quadrado representa a proporção da variância da variável dependente que é explicada pela(s) variável(is) independente(s) no modelo.

Saída:

Interpretação:

  • Um valor de R-quadrado de 0.80 indica que 80% da variância na renda per capita é explicada pelo ano.
  • Embora 80% seja uma indicação forte de um bom ajuste, também implica que 20% da variância permanece inexplicada, possivelmente devido a outros fatores não considerados no modelo ou variabilidade inerente dos dados.

Entendendo os Valores de R-quadrado:

  • 1: Ajuste perfeito. O modelo explica toda a variabilidade.
  • 0: Nenhum poder explicativo. O modelo não explica nenhuma variabilidade.
  • Valores Negativos: Indica que o modelo está performando pior do que uma linha horizontal (média da variável alvo).

Conclusão

Neste guia, implementamos com sucesso um modelo de Regressão Linear em Python para prever a renda per capita do Canadá ao longo dos anos. Seguindo esses passos, você pode:

  1. Carregar e Explorar Dados: Entender a estrutura do conjunto de dados e as tendências iniciais.
  2. Visualizar Relacionamentos: Usar gráficos de dispersão para identificar relacionamentos potenciais lineares.
  3. Preparar Dados: Dividir os dados em conjuntos de treinamento e teste para uma avaliação imparcial.
  4. Construir e Treinar o Modelo: Utilizar o LinearRegression do scikit-learn para ajustar o modelo.
  5. Fazer Previsões: Gerar previsões usando o modelo treinado.
  6. Comparar Resultados: Analisar quão bem os valores previstos alinham-se com os dados reais.
  7. Avaliar Desempenho: Utilizar o R-quadrado para quantificar o poder explicativo do modelo.

Embora o modelo apresente um valor de R-quadrado louvável, há espaço para melhorias. Explorar características adicionais, transformar variáveis ou empregar algoritmos mais complexos pode potencialmente melhorar o desempenho preditivo.

Leitura Adicional

Iniciar esta jornada de regressão linear equipa você com habilidades fundamentais aplicáveis em diversos domínios orientados por dados. Continue praticando com conjuntos de dados variados para aprofundar sua compreensão e proficiência em aprendizado de máquina.

#LinearRegression #Python #MachineLearning #DataScience #ScikitLearn #R2Score #DataVisualization #PredictiveModeling #PythonTutorial

Partilhe o seu amor