Neste post, vamos explicar como usar regressão múltipla para analisar dados reais. Utilizaremos o conjunto de dados de habitação da Califórnia, disponível na biblioteca sklearn
. Vamos entender cada etapa do processo, do carregamento dos dados à interpretação dos resultados.
Passo 1: Importando Bibliotecas e Dados
from sklearn.datasets import fetch_california_housing
import pandas as pd
california = fetch_california_housing()
data = pd.DataFrame(california.data, columns=california.feature_names)
data['PRICE'] = california.target
print(data.head())
O que está acontecendo aqui:
- Importação de dados: Usamos o conjunto de dados
fetch_california_housing
, que contém informações sobre habitação na Califórnia, como características de imóveis (número de quartos, população na região, etc.) e os valores médios das casas. - Conversão para DataFrame: O conjunto de dados é transformado em um
DataFrame
dopandas
para facilitar a manipulação e visualização. - Adição da variável-alvo: A coluna
PRICE
representa o preço médio dos imóveis, que será nossa variável dependente na regressão.
Passo 2: Dividindo as Variáveis Independentes e Dependentes
X = data.drop('PRICE', axis=1)
y = data['PRICE']
O que está acontecendo aqui:
X
: Conjunto de variáveis independentes, ou preditoras, que influenciam o preço da habitação. Essas variáveis são todas as colunas excetoPRICE
.y
: Variável dependente (ou resposta), que é o preço das casas.
Passo 3: Criando e Treinando o Modelo de Regressão
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
model = LinearRegression()
model.fit(X, y)
O que está acontecendo aqui:
- Importação da regressão linear: Usamos a classe
LinearRegression
da bibliotecasklearn
para criar nosso modelo. - Treinamento do modelo (
fit
): O métodofit
ajusta o modelo de regressão linear aos dados de entrada (X
) e saída (y
), encontrando o melhor conjunto de coeficientes que minimiza o erro entre as previsões e os valores reais.
Passo 4: Fazendo Previsões e Avaliando o Modelo
y_pred = model.predict(X)
print(f"Intercepto: {model.intercept_}")
print(f"Coeficientes: {model.coef_}")
O que está acontecendo aqui:
- Previsão (
predict
): Geramos os valores previstos para os dados de entrada (X
) usando o modelo ajustado. - Intercepto (
intercept_
): Valor da variável dependente (PRICE
) quando todas as variáveis independentes (X
) são zero. - Coeficientes (
coef_
): Representam a relação entre cada variável independente e a variável dependente. Por exemplo, se um coeficiente é 0.5, isso significa que um aumento unitário naquela variável preditora aumenta oPRICE
em 0.5, mantendo as demais constantes.
Passo 5: Avaliando a Qualidade do Modelo
r2 = r2_score(y, y_pred)
print(f"Coeficiente de Determinação (R²): {r2}")
O que está acontecendo aqui:
r2_score
: Mede a proporção da variabilidade total do preço que o modelo consegue explicar. Valores mais próximos de 1 indicam um modelo que explica bem os dados, enquanto valores próximos de 0 indicam baixo desempenho.
Conclusão
Com este estudo de caso, aprendemos como usar regressão múltipla para entender a relação entre características de imóveis e seus preços. A regressão linear nos fornece coeficientes que ajudam a identificar quais variáveis têm maior impacto no preço e qual o desempenho do modelo ao fazer previsões.
Essa análise é apenas um ponto de partida. Em estudos mais complexos, consideraríamos normalização de dados, seleção de variáveis e validação cruzada para refinar o modelo.
Gostou deste exemplo? Comente abaixo suas dúvidas ou sugestões para próximos tópicos!