Skip to content

nayarasobral/RL_com_MLflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

📚 Contexto Acadêmico

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.

✨ Funcionalidades

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

🛠️ Configuração e Uso

1. Configurar o ambiente virtual

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

2. Instalar dependências

Instale os pacotes necessários:

pip install -r requirements.txt

3. Iniciar o servidor MLflow

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

4. Executar o script

Rode o script Python para treinar os modelos:

python script.py

📊 Detalhes do Script

O script cobre os seguintes aspectos:

🔢 Regressão Linear

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

🏫 Modelos Hierárquicos (HLM2)

  • Modelagem hierárquica com componentes fixos e aleatórios:
    • Modelo Nulo
    • Modelo com interceptos aleatórios
    • Modelo com interceptos e inclinações aleatórios

🚀 Deployment e Consumo via API

  • Uso do MLflow Models para servir os modelos.
  • Predições realizadas via requisições HTTP (POST) consumindo os modelos em produção.

🌐 Consumo de APIs Externas

  • Exemplo de consumo da API pública Dog Facts API para demonstração de métodos HTTP (GET).

🎓 Estrutura do Repositório

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

⚙️ Tecnologias Utilizadas

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

📬 Contribuições e Contato

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:

RL_com_MLflow

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages