Este projeto implementa um sistema de detecção de fraudes em transações com cartões de crédito utilizando Machine Learning. A solução inclui um modelo treinado para identificar transações fraudulentas e uma API REST desenvolvida com FastAPI para integração e previsão em tempo real.
O objetivo deste projeto é fornecer uma abordagem prática para a detecção de fraudes em transações financeiras, utilizando técnicas de aprendizado de máquina e uma interface de API para facilitar a integração em sistemas maiores.
- Treinamento do modelo de machine learning: Utiliza um dataset de transações fictícias para treinar um modelo de regressão logística que detecta fraudes.
- API REST com FastAPI: Endpoint
/check-fraud
que recebe dados de transações em JSON e retorna uma resposta indicando se a transação é fraudulenta ou não, junto com a probabilidade associada. - Documentação automática: Integração com Swagger UI para fácil visualização e teste da API.
- Python: Linguagem de programação principal.
- Poetry: Gerenciador de dependências e ambientes virtuais para Python.
- Pandas: Manipulação e análise de dados.
- scikit-learn: Biblioteca para construção e avaliação do modelo de machine learning.
- FastAPI: Framework para criação de APIs web rápidas e eficientes.
- Uvicorn: Servidor ASGI para execução da aplicação FastAPI.
- Docker: Plataforma para construir, empacotar e distribuir a aplicação em contêineres.
-
Clonar o repositório
git clone https://github.com/guicarvalho/fraud_detection_ms.git cd fraud_detection_ms
-
Escolher a forma de execução Você pode optar por executar a aplicação usando Docker ou localmente com Poetry. Ambas as opções estão descritas abaixo:
-
Executando com Docker Se você prefere utilizar Docker para executar a aplicação, siga os passos abaixo: 3.1. Construir a imagem Docker
docker build -t fraud-detection-ms .
3.2. Rodar o contêiner Docker
docker run -d -p 8000:8000 fraud-detection-ms
A aplicação estará acessível em http://localhost:8000/docs.
-
Rodando localmente com Poetry Caso prefira rodar a aplicação localmente sem Docker, siga os passos abaixo: 4.1. Instalar o Poetry Se ainda não tiver o Poetry instalado, você pode instalá-lo seguindo as instruções oficiais:
curl -sSL https://install.python-poetry.org | python3 -
4.2. Instalar as dependências No diretório do projeto, execute o comando abaixo para instalar todas as dependências:
poetry install
4.3. Ativar o ambiente virtual Ative o ambiente virtual criado pelo Poetry:
poetry shell
4.4. Executar a API FastAPI Com o ambiente ativado, execute a aplicação:
uvicorn src.main:app --reload
A aplicação estará acessível em http://localhost:8000/docs.
Você pode testar o endpoint /check-fraud
usando o Swagger UI, Postman, Insomnia ou cURL.
curl -X POST "http://localhost:8000/check-fraud" -H "Content-Type: application/json" -d '{
"idade": 40,
"renda_anual": 85000,
"historico_credito": 0.8,
"valor": 1200,
"tipo_transacao": "online",
"local_transacao": "New York",
"categoria_comercio": "eletronicos",
"canal_autenticacao": "online",
"frequencia_transacoes_24h": 2,
"distancia_localizacao": 7000,
"tentativas_falhas_ultimas_24h": 1,
"hora_transacao": "14:00"
}'
{
"result": "legítima",
"proba": 0.85
}
Para qualquer dúvida ou sugestão, entre em contato:
- Email: [email protected]
- LinkedIn: Guilherme Carvalho