Exemplo de Regressão Linear

Beginner

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

Introdução

Este laboratório demonstra como usar a regressão linear para traçar uma linha reta que melhor se ajusta a um conjunto de dados e como calcular os coeficientes, a soma dos quadrados dos resíduos e o coeficiente de determinação. Usaremos a biblioteca scikit-learn para realizar a regressão linear no conjunto de dados de diabetes.

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 praticar.

Às vezes, pode ser necessário esperar alguns segundos para o Jupyter Notebook terminar 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 o problema rapidamente para si.

Carregar o Conjunto de Dados de Diabetes

Começamos carregando o conjunto de dados de diabetes do scikit-learn e selecionando apenas um recurso do conjunto de dados.

import numpy as np
from sklearn import datasets

## Carregar o conjunto de dados de diabetes
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)

## Usar apenas um recurso
diabetes_X = diabetes_X[:, np.newaxis, 2]

Dividir o Conjunto de Dados

Em seguida, dividimos o conjunto de dados em conjuntos de treino e teste. Usaremos 80% dos dados para treino e 20% para teste.

## Dividir os dados em conjuntos de treino/teste
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]

## Dividir os alvos em conjuntos de treino/teste
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]

Treinar o Modelo

Agora, criamos um objeto de regressão linear e treinamos o modelo usando os conjuntos de treino.

from sklearn import linear_model

## Criar objeto de regressão linear
regr = linear_model.LinearRegression()

## Treinar o modelo usando os conjuntos de treino
regr.fit(diabetes_X_train, diabetes_y_train)

Fazer Previsões

Agora podemos usar o modelo treinado para fazer previsões no conjunto de teste.

## Fazer previsões usando o conjunto de teste
diabetes_y_pred = regr.predict(diabetes_X_test)

Calcular Métricas

Podemos calcular os coeficientes, o erro quadrático médio e o coeficiente de determinação.

from sklearn.metrics import mean_squared_error, r2_score

## Os coeficientes
print("Coeficientes: \n", regr.coef_)

## O erro quadrático médio
print("Erro quadrático médio: %.2f"
      % mean_squared_error(diabetes_y_test, diabetes_y_pred))

## O coeficiente de determinação: 1 é uma previsão perfeita
print("Coeficiente de determinação: %.2f"
      % r2_score(diabetes_y_test, diabetes_y_pred))

Visualizar os Resultados

Finalmente, podemos plotar os valores previstos contra os valores reais para visualizar o quão bem o modelo se ajusta aos dados.

import matplotlib.pyplot as plt

## Plotar os resultados
plt.scatter(diabetes_X_test, diabetes_y_test, color="black")
plt.plot(diabetes_X_test, diabetes_y_pred, color="blue", linewidth=3)

plt.xticks(())
plt.yticks(())

plt.show()

Resumo

Neste laboratório, aprendemos como usar a regressão linear para ajustar uma linha reta a um conjunto de dados e como calcular os coeficientes, a soma dos quadrados dos resíduos e o coeficiente de determinação. Também aprendemos como visualizar os valores previstos contra os valores reais usando um gráfico de dispersão.