Classificação de Notas Bancárias com Machine Learning
Implementação de algoritmos K-Vizinhos Mais Próximos e Naive Bayes do zero, sem bibliotecas prontas, para autenticação de cédulas bancárias por Transformada Wavelet.
O Projeto
Objetivo
Implementar algoritmos de classificação supervisionada do zero, sem utilizar bibliotecas prontas como scikit-learn ou pandas, para resolver o problema de autenticação de notas bancárias. O desafio foi demonstrar compreensão profunda dos algoritmos através da implementação manual de cada detalhe matemático e computacional.
Dataset
- • Fonte: UCI Machine Learning Repository · Banknote Authentication . O conjunto é limpo, balanceado e adequado para comparação didática entre famílias clássicas de classificação.
- • Amostras: 1.372 notas bancárias digitalizadas
- • Distribuição: 762 autênticas, 610 falsas
- • Features: 4 coeficientes da Transformada Wavelet (Variância, Assimetria, Curtose, Entropia)
Algoritmos Implementados
K-Vizinhos Mais Próximos (K-NN)
Algoritmo baseado em instâncias que classifica novos exemplos com base na classe majoritária entre seus K vizinhos mais próximos no espaço de features.
- • Distância Euclidiana → 100% acurácia
- • Distância Manhattan → 99,93% acurácia
- • Distância Chebyshev → 100% acurácia
Naive Bayes
Classificador probabilístico baseado no Teorema de Bayes, assumindo independência condicional entre features — premissa relaxada na variante multivariada com matriz de covariância.
- • Univariado (independência total) → 83,97% acurácia
- • Multivariado com Σ covariância → 98,54% acurácia
Resultados Detalhados
Acurácia — Comparativo Visual
Leitura imediata
O experimento mostra dois tipos de vitória: a vitória da precisão absoluta e a vitória do custo operacional sustentável.
Principais Descobertas
Importância das Features
A Transformada Wavelet foi crucial para extrair padrões discriminativos. Dados de qualidade definem o teto de performance — nenhum algoritmo compensa features ruins.
Trade-off Clássico
Precisão máxima (K-NN 100%) vs. Eficiência (Naive Bayes 140× mais rápido). A escolha depende do contexto — volume de dados, custo do erro e latência aceitável.
Correlações Importam
Naive Bayes Multivariado (98,54%) supera Univariado (83,97%) em 14 pontos percentuais ao capturar correlações entre features com a matriz de covariância completa.
Da Classificação de Notas aos Meta Prompts Modernos
O Princípio Universal: Medição é Essencial
Assim como alcançamos 100% de acurácia através de validação cruzada rigorosa, a engenharia de prompts modernos deve ser baseada em dados. Muitos desenvolvedores focam apenas em "criar" prompts complexos, esquecendo de medir sua precisão em cenários variados. Isso gera overfitting: o prompt funciona para um caso, mas falha em produção.
Framework para Medir Precisão de Meta Prompts
- 01 Definir Métricas: Acurácia factual, adesão a formatos, ausência de alucinações.
- 02 Criar Dataset de Teste: Casos comuns (80%), edge cases (15%), exemplos adversariais (5%).
- 03 Avaliação Sistemática: Automação de testes, LLM-as-a-Judge, cálculo de precisão/recall.
- 04 Iteração Baseada em Dados: Ajuste apenas onde as métricas indicam falha.
Meta Prompts vs. Fine-tuning: ROI
Meta prompts oferecem melhor ROI inicial para prototipagem rápida. No entanto, para tarefas críticas, específicas e de alto volume (como a classificação de notas), o fine-tuning ou modelos clássicos (K-NN, Naive Bayes) vencem a longo prazo devido à precisão, eficiência e controle.
A lição: transformar a engenharia de prompts de uma "arte baseada em intuição" para uma "ciência baseada em dados".
Recursos Disponíveis
Acesse todos os materiais produzidos nesta pesquisa.
Apresentação Completa
20 slides com toda a análise, resultados e conexões com meta prompts modernos.
VisualizarCódigo-Fonte
Implementação completa dos 5 algoritmos em Python puro, sem bibliotecas prontas.
AcessarRelatório Técnico
Documentação detalhada com fundamentação teórica e análise crítica dos resultados.
Baixar