Capítulo 26
Regressão linear local
3 min de leitura 529 palavras 1 gravura
Neste capítulo você vai ajustar uma reta e interpretar residuos. O projeto de estudo é o Observatório do Recife, um núcleo fictício de monitoramento urbano e climático.
Seu ponto de partida
O exemplo deste capítulo é 26-ml-regressao, no pacote que acompanha o volume; pratique sobre uma cópia da pasta inicio/. A raiz do exemplo é a referência desta etapa. Abrir ou rodar localmente não publica nada. Servidor, se precisar, só em 127.0.0.1.
Como praticar
Leia, confira o código, mude uma coisa, preveja, salve, rode de novo e confira. Investigue o erro antes de avançar.

Um resultado antes de outro conceito
O script Python lê dados locais do Observatório e imprime um resultado que você pode conferir.
Faça na sua cópia
A implementação completa está no pacote de exemplos que acompanha este volume.
# Capítulo 26 — regressao linear simples
from pathlib import Path
import pandas as pd
from sklearn.linear_model import LinearRegression
root = Path(__file__).resolve().parent
df = pd.read_csv(root / "dados" / "leituras.csv")
X = df[["umidade"]]
y = df["temp_c"]
modelo = LinearRegression().fit(X, y)
Mude uma coisa e preveja
Altere um parâmetro (limiar, coluna ou random_state) e preveja a mudança.
Anote o que espera observar antes de salvar e rodar de novo.
Recarregue e confira
A saída no terminal reflete só a mudança pedida.
Se não acontecer
Confira se salvou a cópia certa e se o caminho dos dados aponta para dados/ dentro da pasta do exemplo.
Ambiente local
Use Python 3 na sua máquina. Pacotes extras só quando o capítulo pedir. Nada de conta cloud obrigatória.
Faça na sua cópia
A implementação completa está no pacote de exemplos que acompanha este volume.
python analise.py
Mude uma coisa e preveja
Rode duas vezes seguidas. A saída deve ser estável (salvo gráficos com relógio).
Anote o que espera observar antes de salvar e rodar de novo.
Recarregue e confira
Scripts determinísticos com random_state fixo ajudam a conferência.
Se não acontecer
Confira se salvou a cópia certa e se o caminho dos dados aponta para dados/ dentro da pasta do exemplo.
Erro comum
Faltar pacote (pandas, sklearn) ou apontar CSV errado. Instale no venv local e confira dados/.
Faça na sua cópia
A implementação completa está no pacote de exemplos que acompanha este volume.
pip install pandas matplotlib scikit-learn
Mude uma coisa e preveja
Liste os arquivos em dados/ antes de rodar.
Anote o que espera observar antes de salvar e rodar de novo.
Recarregue e confira
Você deve ver bairros, estacoes, leituras e alertas.
Se não acontecer
Confira se salvou a cópia certa e se o caminho dos dados aponta para dados/ dentro da pasta do exemplo.
Atividades
Responda antes de olhar as respostas comentadas no final.
-
Qual o objetivo deste capítulo?
-
Os dados podem ir para produção?
-
Onde fica a referência pronta?
Antes de avançar
- Você conseguiu ajustar uma reta e interpretar residuos.
- A cópia
inicio/roda sem depender de conta paga. - Você distingue arquivo local, resultado na tela e publicação pública.
Respostas comentadas
Atividade 1
ajustar uma reta e interpretar residuos
Atividade 2
Não — são fictícios e só para estudo.
Atividade 3
Na raiz da pasta do exemplo; pratique em inicio/.
O arquivo completo
Referência do exemplo 26-ml-regressao, reproduzida aqui para que você possa conferir sem sair da página.
analise.py
# Capítulo 26 — regressao linear simples
from pathlib import Path
import pandas as pd
from sklearn.linear_model import LinearRegression
root = Path(__file__).resolve().parent
df = pd.read_csv(root / "dados" / "leituras.csv")
X = df[["umidade"]]
y = df["temp_c"]
modelo = LinearRegression().fit(X, y)
df["previsto"] = modelo.predict(X)
print("coef umidade:", round(float(modelo.coef_[0]), 4))
print("intercepto:", round(float(modelo.intercept_), 4))
print(df[["umidade", "temp_c", "previsto"]].head())