Este repositório demonstra um fluxo completo de boas práticas de ciência de dados. Abaixo estão descritos os passos chave e sugestões de extensões para cada etapa.
- Compreensão do domínio: entenda o contexto do problema e as fontes de dados.
- Carregamento e inspeção inicial: verifique formatos, tipos e estatísticas descritivas.
- Visualizações: distribuições (histogramas, boxplots) e relações (scatterplots, heatmaps de correlação).
- Heurísticas com distribuições de probabilidade: identifique padrões, outliers e comportamento anômalo usando distribuições teóricas (Normal, Exponencial etc.).
- Limpeza e tratamento de valores ausentes: elimine ou impute seguindo a lógica do negócio.
- Definição de métricas: escolha métricas alinhadas ao objetivo (ex.: MSE, ROC AUC, etc.).
- Benchmarks rápidos: comece com modelos simples (baseline) e utilize validação cruzada para comparar opções.
- Seleção guiada por heurísticas: avalie se distribuições de probabilidade ou características temporais indicam modelos específicos (p. ex. modelos de série temporal ou regressão regularizada).
- Engenharia de features: transforme variáveis brutas em atributos mais informativos (normalização, codificações categóricas, agregações temporais, etc.).
- Seleção automática: utilize técnicas como filtro, wrapper ou embedded (ex.: L1 regularização) para reduzir dimensionalidade.
- Feature Store: armazene features reutilizáveis em um repositório central para manter consistência entre experimentos e produção.
- Rastreamento de experiências: registre runs no MLflow para salvar hiperparâmetros, métricas e artefatos.
- Visualização de métricas: compare modelos, acesse curvas e histórico de execuções.
- Revisão de correlações: reavalie features após cada experimento e, se necessário, teste outro modelo mais adequado.
- Pipeline automático: configure integração contínua para rodar testes e validações de dados sempre que há novas mudanças.
- Deploy canário: envie o modelo para um subconjunto reduzido de usuários ou dados e monitore métricas em tempo real.
- Exemplo de falha: se o canário apresentar piora de performance, o CI/CD realiza rollback automático ou inicia nova execução para corrigir parâmetros.
- Deploy final: após a correção automática, o pipeline promove o modelo aprimorado para produção completa.
- Monitoramento contínuo de dados para detectar drift.
- Expansão da feature store e documentação de metadados.
- Integração com ferramentas de orquestração (ex.: Airflow ou Prefect).
- Criação de testes unitários e de integração dedicados aos pipelines de dados.
Este guia resume como montar um fluxo completo, desde EDA até deploy, mantendo boas práticas de ciência de dados e automações de CI/CD para garantir modelos confiáveis e fáceis de manter.
O diretório src/ds_workflow
contém módulos pequenos que exemplificam cada etapa do fluxo:
eda.py
– carregamento do dataset de demonstração e inspeções básicas;modeling.py
– funções de benchmark de modelos;feature_store.py
– criação do pipeline de features e armazenamento em CSV;mlflow_utils.py
– registro simplificado de runs no MLflow;deploy.py
– simulação de um deploy canário com rollback;main.py
– orquestrador que executa todas as etapas em sequência.
Executar python -m src.ds_workflow.main
reproduz o fluxo completo.