Este módulo do projeto ChurnInsight implementa um caso de uso de previsão de churn no setor bancário.
O objetivo é prever se um cliente irá cancelar o relacionamento com o banco (churned), utilizando dados demográficos e comportamentais, disponibilizando essa previsão via uma API FastAPI containerizada com Docker.
churn_bancos/
├── app.py # Ponto de entrada da API (FastAPI)
├── config.py # Configurações globais
├── Dockerfile # Build da imagem Docker
├── requirements.txt # Dependências do projeto
├── data/ # Dados de treino e teste (.csv)
├── models/ # Modelos treinados (.joblib)
├── schemas/ # Esquema pipeline em json
├── scripts/ # Scripts de treino e predição
└── utils/ # Funções auxiliares (configurações de importação, features)
Para fazer a comunicação com o back-end no projeto foi utilizado FastAPI, um moderno e rápido (alta performance) framework web para construção de APIs com Python, baseado nos type hints padrões do Python.
A API estará disponível em:
Swagger
http://localhost:8000/docs
Documentação
http://localhost:8000/redoc
Endpoint:
POST /predict
Payload de exemplo - Entrada de dados:
{
"pais": "France",
"genero": "Male",
"idade": 45,
"saldo": 75432.50,
"num_produtos": 2,
"membro_ativo": 1,
"salario_estimado": 62000.00
}Saída
{
"probabilidade_churn": 0.40,
"previsao_churn": "Chance baixa de cancelamento"
}
- Python 3.11 — Linguagem principal
- FastAPI — API para disponibilização do modelo
- Docker — Containerização da aplicação
- Scikit-learn — Modelagem e pipelines de ML
- Pandas / NumPy — Manipulação e análise de dados
- Matplotlib / Seaborn — Gerar gráficos para visualização e análise de dados
- Feature-engine — Engenharia de features e pré-processamento
- Mlflow — Ferramenta para Gerenciar o Ciclo de Vida do Aprendizado de Máquina