=> Regressão Linear e Hierárquica com MLflow - MBA USP ESALQ
Este repositório contém um script desenvolvido como parte da disciplina Big Data e Deployment de Modelos I do programa de MBA da USP ESALQ. O objetivo principal é demonstrar a implementação de modelos de regressão linear e hierárquica, monitorando todo o ciclo de vida dos experimentos com o uso do MLflow.
O script foi utilizado em sala de aula para ilustrar boas práticas no treinamento e no deployment de modelos. Ele inclui o uso de modelos estatísticos (OLS e HLM2) para análise de dados e destaca o uso do MLflow para rastreamento de métricas, parâmetros, artefatos e gestão do ciclo de vida dos modelos.
- Regressão Linear Simples: Treinamento de modelos com acompanhamento de métricas como R², Estatística F e p-value.
- Modelos Hierárquicos (HLM2): Treinamento de modelos avançados com componentes fixos e aleatórios.
- Gestão com MLflow:
- Registro automático de parâmetros, métricas e artefatos (autolog).
- Deploy dos modelos via API do MLflow.
- Predições consumindo APIs em produção.
- Interação com APIs: Coleta de dados de APIs públicas com
requests
.
Crie e ative um ambiente virtual no diretório do projeto:
# Criar o ambiente virtual
python3 -m venv venv
# Ativar o ambiente
# Windows:
.\venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate
Instale os pacotes necessários:
pip install -r requirements.txt
Inicie o servidor para rastrear os experimentos:
mlflow server \
--backend-store-uri sqlite:///mlflow.db \
--default-artifact-root ./mlruns \
--host 0.0.0.0 \
--port 8000
Acesse o painel no navegador:
http://localhost:8000
Rode o script Python para treinar os modelos:
python script.py
O script cobre os seguintes aspectos:
- Modelagem básica com o método OLS (Ordinary Least Squares).
- Registro de métricas como R², p-value e artefatos como gráficos comparativos e sumários de modelos.
- Modelagem hierárquica com componentes fixos e aleatórios:
- Modelo Nulo
- Modelo com interceptos aleatórios
- Modelo com interceptos e inclinações aleatórios
- Uso do MLflow Models para servir os modelos.
- Predições realizadas via requisições HTTP (
POST
) consumindo os modelos em produção.
- Exemplo de consumo da API pública Dog Facts API para demonstração de métodos HTTP (
GET
).
script.py
: Script principal com todo o fluxo de regressão e deployment.datasets/
: Diretório contendo os datasets utilizados no experimento.requirements.txt
: Arquivo com as dependências necessárias para execução.README.md
: Este arquivo.
- Python: Linguagem principal.
- Statsmodels: Modelagem estatística.
- MLflow: Gestão do ciclo de vida de modelos.
- Pandas: Manipulação de dados.
- Matplotlib: Visualização de dados.
- Requests: Consumo de APIs REST.
Este projeto foi desenvolvido no contexto acadêmico, mas contribuições são bem-vindas! Caso tenha dúvidas ou sugestões, entre em contato:
- Email: [email protected]
- LinkedIn: Seu Perfil