⭐ If this project helps you, please give it a star and share it with your network! Your support helps the community grow.
Advanced real-time fraud detection system using Machine Learning, Deep Learning, and streaming architecture with comprehensive monitoring and MLOps practices.
# Start the system
docker-compose up -d
# Test fraud detection endpoint
curl -X POST "http://localhost:8000/predict" \
-H "Content-Type: application/json" \
-d \
{
"transaction_id": "txn_12345",
"amount": 1500.00,
"merchant_category": "electronics",
"user_id": "user_789",
"timestamp": "2024-01-15T10:30:00Z"
}
Python Example:
import requests
# Fraud detection request
response = requests.post(
"http://localhost:8000/predict",
json={
"transaction_id": "txn_12345",
"amount": 1500.00,
"merchant_category": "electronics",
"user_id": "user_789",
"timestamp": "2024-01-15T10:30:00Z"
}
)
result = response.json()
print(f"Fraud Score: {result["fraud_score"]}")
print(f"Decision: {result["decision"]}")
print(f"Explanation: {result["shap_explanation"]}")
Expected Response:
{
"transaction_id": "txn_12345",
"fraud_score": 0.23,
"decision": "approve",
"confidence": 0.89,
"shap_explanation": {
"top_features": [
{"feature": "amount_zscore", "impact": -0.15},
{"feature": "merchant_risk", "impact": 0.08}
]
},
"processing_time_ms": 45
}
To run a historical backtest of the fraud detection system, use the backtest.py
script:
python src/backtest.py --start-date YYYY-MM-DD --end-date YYYY-MM-DD --data-path path/to/your/transactions.csv --model-path path/to/your/model_directory
Example:
python src/backtest.py --start-date 2023-01-01 --end-date 2023-01-31 --data-path data/processed/transactions.csv --model-path models/ensemble_model
- Supervised Learning: RandomForest, XGBoost, Neural Networks
- Unsupervised Learning: Isolation Forest, Autoencoders, Clustering
- Ensemble Methods: Voting, Stacking, Dynamic weighting
- Explainability: SHAP values for model interpretability
- Model Performance: Precision, Recall, F1-Score, AUC-ROC
- System Performance: Latency, Throughput, Error rates
- Data Quality: Drift detection, Feature distribution monitoring
- Performance degradation detection
- Latency spike notifications
- Data drift warnings
- Pipeline failure alerts
- Model Configuration:
config/model_config.py
- Decision Thresholds:
config/thresholds.py
- Environment Settings:
.env.example
# Unit tests
pytest tests/unit/
# Integration tests
pytest tests/integration/
# Performance tests
pytest tests/performance/
# Full test suite with coverage
pytest --cov=src tests/
We welcome contributions from the community! Here's how to get started:
-
Fork the Repository
# Click the 'Fork' button at the top of this page
-
Clone Your Fork
git clone https://github.com/YOUR_USERNAME/ai-financial-fraud-detection.git cd ai-financial-fraud-detection
-
Create a Feature Branch
git checkout -b feature/your-awesome-feature # or for bug fixes: git checkout -b fix/issue-description
-
Make Your Changes
- Write clean, documented code
- Add tests for new features
- Update documentation as needed
-
Test Your Changes
pytest tests/ pre-commit run --all-files # Code formatting & linting
-
Commit Your Changes
git add . git commit -m "feat: add awesome new feature" # Use conventional commits: feat:, fix:, docs:, test:, refactor:
-
Push and Create Pull Request
git push origin feature/your-awesome-feature # Then open a Pull Request on GitHub
- 🐛 Bug fixes
- ✨ New ML models or features
- 📚 Documentation improvements
- 🧪 Additional tests
- 🔧 Performance optimizations
- 📊 New monitoring capabilities
- Follow PEP 8 guidelines
- Use type hints
- Write docstrings for functions
- Add unit tests for new code
MIT License. See LICENSE for details.
⭐ Se este projeto te ajudou, deixe uma estrela e compartilhe! Seu apoio ajuda a comunidade a crescer.
Sistema avançado de detecção de fraudes em tempo real usando Machine Learning, Deep Learning e arquitetura de streaming com práticas abrangentes de monitoramento e MLOps.
# Iniciar o sistema
docker-compose up -d
# Testar endpoint de detecção de fraude
curl -X POST "http://localhost:8000/predict" \
-H "Content-Type: application/json" \
-d \
{
"transaction_id": "txn_12345",
"amount": 1500.00,
"merchant_category": "electronics",
"user_id": "user_789",
"timestamp": "2024-01-15T10:30:00Z"
}
Para executar um backtest histórico do sistema de detecção de fraudes, use o script backtest.py
:
python src/backtest.py --start-date AAAA-MM-DD --end-date AAAA-MM-DD --data-path caminho/para/suas/transacoes.csv --model-path caminho/para/seu/diretorio_do_modelo
Exemplo:
python src/backtest.py --start-date 2023-01-01 --end-date 2023-01-31 --data-path data/processed/transactions.csv --model-path models/ensemble_model
- Aprendizado Supervisionado: RandomForest, XGBoost, Redes Neurais
- Aprendizado Não Supervisionado: Isolation Forest, Autoencoders, Agrupamento
- Métodos de Ensemble: Votação, Empilhamento, Ponderação Dinâmica
- Explicabilidade: Valores SHAP para interpretabilidade do modelo
- Desempenho do Modelo: Precisão, Recall, F1-Score, AUC-ROC
- Desempenho do Sistema: Latência, Vazão, Taxas de Erro
- Qualidade dos Dados: Detecção de desvio, Monitoramento de distribuição de características
- Detecção de degradação de desempenho
- Notificações de pico de latência
- Avisos de desvio de dados
- Alertas de falha de pipeline
- Configuração do Modelo:
config/model_config.py
- Limiares de Decisão:
config/thresholds.py
- Configurações de Ambiente:
.env.example
# Testes de Unidade
pytest tests/unit/
# Testes de Integração
pytest tests/integration/
# Testes de Desempenho
pytest tests/performance/
# Suíte de Testes Completa com Cobertura
pytest --cov=src tests/
Aceitamos contribuições da comunidade! Veja como começar:
-
Faça um Fork do Repositório
# Clique no botão 'Fork' no topo desta página
-
Clone Seu Fork
git clone https://github.com/YOUR_USERNAME/ai-financial-fraud-detection.git cd ai-financial-fraud-detection
-
Crie uma Branch de Funcionalidade
git checkout -b feature/sua-nova-funcionalidade-incrivel # ou para correções de bugs: git checkout -b fix/descricao-do-problema
-
Faça Suas Alterações
- Escreva código limpo e documentado
- Adicione testes para novas funcionalidades
- Atualize a documentação conforme necessário
-
Teste Suas Alterações
pytest tests/ pre-commit run --all-files # Formatação e linting de código
-
Commit Suas Alterações
git add . git commit -m "feat: adiciona nova funcionalidade incrível" # Use commits convencionais: feat:, fix:, docs:, test:, refactor:
-
Envie e Crie um Pull Request
git push origin feature/sua-nova-funcionalidade-incrivel # Em seguida, abra um Pull Request no GitHub
- 🐛 Correções de bugs
- ✨ Novos modelos ou funcionalidades de ML
- 📚 Melhorias na documentação
- 🧪 Testes adicionais
- 🔧 Otimizações de desempenho
- 📊 Novas capacidades de monitoramento
- Siga as diretrizes da PEP 8
- Use type hints
- Escreva docstrings para funções
- Adicione testes de unidade para novo código
Licença MIT. Veja LICENSE para detalhes.
✨ Juntos podemos construir uma solução ainda melhor para detecção de fraudes!