Laudo Técnico de Avaliação — TP1
equipe-elas
Tipo: Avaliacao tecnica coletiva
Status: Recomendacao tecnica
Nota tecnica: 9.4/10.0
Sintese: Entrega integrada com artefatos e evolucao experimental bem documentados; permanecem ressalvas sobre a reconciliacao de metricas e a reproducao externa no ambiente avaliado.
Evidencias e execucao
- README, codigo, artefatos, dependencias, testes, Docker e historico Git inspecionados.
- Artefatos versionados em
trabalho/artifacts/: modelo Keras, TF-IDF, MLB, thresholds, splits, historico, curva de loss, matriz e tabela comparativa. PYTHONDONTWRITEBYTECODE=1 python -m pytest -q -p no:cacheprovider: falhou na coleta porModuleNotFoundError: fastapi. O ambiente avaliador nao possui dependencias; nao e defeito do projeto nem houve instalacao.timeout 120s docker build -t tp1-avaliacao-elas .: Docker disponivel, mas o build excedeu o teto durante a instalacao do TensorFlow e foi cancelado. Nao houve API em execucao. Trata-se de limite de tempo do ambiente, nao de falha demonstrada do Dockerfile.- Historico registra evolucao verificavel: correcao de versoes do scikit-learn, troca do mock pela API real, testes de integracao, calibracao e comparacao top-k 3 versus 4.
Implementacao
src/main.pycarrega vetor, MLB, modelo e thresholds no lifespan; valida texto vazio, ofereceGET /healthePOST /predictno schema requerido.- A formulacao e correta: 25 saidas sigmoid, BCE e
MultiLabelBinarizer. O README informa split 80/10/10 e TF-IDF de 5.000 unigramas/bigramas. - Baseline LogReg OvR: F1-macro 0.265; rede: 0.468, F1-micro 0.604. A documentacao inclui matriz, loss, F1 por classe e analise das classes sem sinal.
- A suite contem os seis testes obrigatorios, mais validacoes de campo ausente, tipo invalido e Swagger. Docker/compose e CI estao presentes; a falha do job Docker no runner e documentada como permissao do daemon.
Pontos positivos
- Melhor evidencia de ciclo experimental: bug de threshold identificado, limiar global rejeitado, top-k 3/4 comparados com trade-off precision/recall explicitado.
- Analise concreta do semantic gap e das classes zeradas, com limites reconhecidos em vez de apenas reportar F1.
- Artefatos de inferencia autocontidos e testes de integracao com API real e amostra aleatoria documentados.
Lacunas e evolucao
- O README contem uma divergencia: a tabela final reporta F1-macro 0.468, mas a secao de amostra ainda compara com 0.432. A fonte final deve ser unica.
- O limite top-k=4 e uma decisao de produto razoavel, mas altera a decisao por threshold; faltou registrar uma metrica final unica que seja exatamente a mesma configuracao servida.
- A execucao independente nao foi confirmada por falta das dependencias locais e pelo limite de build, embora o projeto forneca instrucoes e pins adequados.
Pontuacao
| Criterio | Maximo | Pontos | Justificativa |
|---|---|---|---|
| Dados e formulacao multi-label | 1.5 | 1.5 | Pipeline, Top 25, split e sigmoid/BCE evidenciados. |
| Baseline, rede e resultados | 2.5 | 2.3 | Comparacao, metricas e artefatos completos; reproducao local bloqueada pelo ambiente. |
| Evolucao e justificativa experimental | 2.0 | 1.9 | Iteracoes de threshold/top-k e erros por classe muito bem justificados. |
| API e contrato | 1.5 | 1.5 | Implementacao e testes cobrem o contrato completo. |
| Reproducibilidade e qualidade | 1.5 | 1.3 | Docker, compose, CI e pins; build nao concluiu no teto de tempo. |
| Documentacao e colaboracao | 1.0 | 0.9 | Autoria e historico bons; ha inconsistencia residual de F1. |
| Total | 10.0 | 9.4 |
Nota recomendada
9.4/10.0 Entrega tecnicamente integrada, com evolucao experimental particularmente forte. A pequena deducao decorre da reconciliacao incompleta de metricas e da reproducao nao confirmada no ambiente disponivel.
Nota individual recomendada
A componente de produto coletivo e 4.7/5.0 para todos os integrantes, isto e, metade da nota tecnica atual da equipe (9.4/10.0). As parcelas individuais consideram entregas no papel declarado, autoria verificavel e integracao; contagem de commits e linhas nao foi usada como criterio de nota.
| Integrante | Papel declarado e evidencia observada | Produto (5,0) | Papel (3,0) | Rastreab. (1,5) | Colab./qual. (0,5) | Final / 10 |
|---|---|---|---|---|---|---|
| Mariana Luciano Moraes | ML: rede Keras, calibracao por classe, analise de F1 e iteracoes top-k em MRs !4–!9. | 4.7 | 3.0 | 1.5 | 0.5 | 9.7 |
| Daiana Maria de Oliveira Vieira | Dados/NLP: pipeline, TF-IDF, MLB e splits; MRs !1–!3 documentam a entrega. | 4.7 | 3.0 | 1.5 | 0.4 | 9.6 |
| Bruno Durso Amaral | DevOps/QA: Docker, compose, CI, seis testes e validacao da API real no MR !10. | 4.7 | 3.0 | 1.5 | 0.5 | 9.7 |
| Fernanda Laylla Almeida | API/MLOps: FastAPI, contrato, integracao de thresholds e atualizacoes de testes/documentacao. | 4.7 | 3.0 | 1.5 | 0.4 | 9.6 |
Evidencias e ressalvas individuais
- As MRs e o historico separam as quatro entregas por papel; a ausencia de Issues reduz a evidencia de planejamento, mas nao impede rastrear as implementacoes integradas.
- A autoria de Fernanda e demonstrada pelos commits da API e pela integracao do threshold calibrado; sua participacao em revisao formal nao esta documentada.
- A divergencia residual de F1 e a reproducao externa nao confirmada sao riscos do produto coletivo e ja estao refletidos na parcela comum.
As notas permanecem recomendacoes ate a arguicao, que deve confirmar a compreensao das escolhas e a autoria declarada.