Este projeto utiliza técnicas de Machine Learning para identificar transações fraudulentas em cartões de crédito. O foco principal foi lidar com o desbalanceamento extremo dos dados utilizando SMOTE (Synthetic Minority Over-sampling Technique) e comparar o desempenho de diferentes algoritmos.
- Python 3.12
- Pandas & Numpy: Manipulação e análise de dados.
- Scikit-Learn: Implementação dos modelos de Regressão Logística e Random Forest.
- Imbalanced-learn (SMOTE): Balanceamento das classes de fraude.
O projeto comparou dois modelos principais. Abaixo estão os relatórios de classificação extraídos durante a execução:
O modelo inicial apresentou uma boa precisão, mas um recall moderado para a classe de fraude (0.63).

- Recall (Fraude): 0.63
- F1-Score (Fraude): 0.72
Após aplicar o balanceamento de dados e utilizar um algoritmo de florestas aleatórias, houve uma melhora significativa na detecção das fraudes.

- Recall (Fraude): 0.78 (Aumento significativo na captura de fraudes reais)
- F1-Score (Fraude): 0.81
O modelo final com Random Forest demonstrou ser superior para este problema de segurança, conseguindo identificar 78% das transações fraudulentas, mantendo uma alta precisão de 0.85, o que minimiza o bloqueio indevido de clientes legítimos.
- Crie um ambiente virtual:
python3 -m venv venv - Ative o ambiente:
source venv/bin/activate - Instale as dependências:
pip install pandas numpy scikit-learn imbalanced-learn - Execute o script:
python deteccao_fraude.py