1
resposta

[Sugestão] engenharia

Ao entrar no time de dados e analisar o cenário atual, identifiquei diversos problemas que comprometem tanto a qualidade do modelo quanto a manutenção e escalabilidade do projeto.

O código está centralizado em um único notebook .ipynb, sem funções organizadas, com uso excessivo de variáveis globais e nenhum tipo de teste automatizado. Isso torna o código difícil de entender, testar e reaproveitar. Além disso, o processo de deploy é totalmente manual, feito por e-mail com arquivos ZIP, o que aumenta as chances de erro e dificulta o rastreio de alterações.

Outro ponto crítico é a ausência de versionamento dos dados e dos modelos. Como não há controle sobre as versões utilizadas, é impossível saber o que mudou ao longo do tempo ou o que causou a piora recente nos resultados.

Para melhorar esse projeto, alguns princípios de engenharia de software podem ser aplicados, como:

Separação de responsabilidades: dividir o código em funções, módulos e classes.

Controle de versão: utilizar Git para rastrear mudanças no código e nos modelos.

Testes automatizados: incluir testes unitários e de integração para validar o comportamento do código.

Automação de deploy: usar pipelines de CI/CD para evitar processos manuais e garantir reprodutibilidade.

Também sugeriria ferramentas e práticas como:

Refatoração do notebook para scripts Python organizados em pacotes.

Uso de pytest para testes.

Versionamento de modelos e dados com ferramentas como DVC ou MLflow.

GitHub Actions para automatizar testes, treinamento e deploy.

Armazenamento dos modelos em repositórios próprios (como S3 ou o próprio DVC) com versionamento.

Documentação clara do pipeline de ponta a ponta.

Essas mudanças ajudariam a tornar o projeto mais confiável, fácil de manter e escalável, além de trazer mais controle sobre a performance do modelo ao longo do tempo.

1 resposta

Olá, Ubirajara! Como vai?

Você fez uma excelente análise do cenário e identificou problemas cruciais que comprometem o projeto.

Suas sugestões com certeza podem ajudar a tornar o projeto mais robusto e gerenciável.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!