Análise de Crédito com Aplicação Web
Aplicação completa de Machine Learning para análise de risco de crédito, desenvolvida com arquitetura em três camadas e preparada para ambientes de desenvolvimento e produção.
Descrição do Projeto
Este projeto implementa um sistema de análise de crédito que simula o processo de avaliação de risco adotado por instituições financeiras. A solução utiliza modelos de aprendizado de máquina para prever a probabilidade de inadimplência com base em dados pessoais e financeiros dos clientes.
A aplicação contempla todo o ciclo de vida do modelo, incluindo extração de dados, pré-processamento, treinamento, inferência, explicabilidade e disponibilização via API e interface web.
Arquitetura do Sistema
PostgreSQL (Dados)
|
v
API REST (Flask + Modelo de Machine Learning)
|
v
Interface Web (Streamlit)
A arquitetura em três camadas promove separação de responsabilidades, escalabilidade e facilidade de manutenção.
Fluxo de Dados
- Extração de dados via consultas SQL complexas no PostgreSQL
- Limpeza, normalização e engenharia de atributos
- Treinamento de modelo de classificação binária
- Exposição do modelo por meio de API REST
- Consumo das predições pela interface web
Modelo de Machine Learning
O modelo principal é uma rede neural densa para classificação binária, projetada para identificar risco de crédito.
- Arquitetura: 4 camadas densas (128 → 64 → 32 → 1)
- Função de ativação: ReLU e Sigmoid
- Regularização: Dropout de 30%
- Otimizador: Adam
- Seleção de atributos: Recursive Feature Elimination (RFE)
Pipeline de Processamento de Dados
- Tratamento de valores nulos
- Correção de inconsistências textuais com fuzzy matching
- Engenharia de atributos personalizados
- Normalização com StandardScaler
- Codificação de variáveis categóricas
- Remoção de outliers baseada em critérios estatísticos
API REST
A API foi desenvolvida em Flask e disponibiliza um endpoint para predições em tempo real, recebendo e retornando dados no formato JSON.
- Endpoint principal:
/predict - Pré-processamento automático
- Compatível com containerização
Interface Web
A interface web foi construída com Streamlit, oferecendo uma experiência simples e objetiva para inserção de dados e visualização dos resultados das predições.
Explicabilidade
O projeto incorpora técnicas de explicabilidade de modelos para garantir transparência nas decisões, utilizando LIME e SHAP para análise das variáveis mais relevantes em cada predição.
Opções de Deploy
Ambiente Local
python local-deploy.py local python local-deploy.py docker python local-deploy.py check
Azure Virtual Machines
python azure-deploy.py deploy python azure-deploy.py info python azure-deploy.py cleanup
Azure Container Instances
python azure-aci-deploy.py deploy python azure-aci-deploy.py info python azure-aci-deploy.py cleanup
Integração Contínua e Deploy Contínuo
O projeto utiliza GitHub Actions para execução automática de testes, build de containers e deploy em ambientes Azure a cada push na branch principal.
Tecnologias Utilizadas
Python, PostgreSQL, Flask, Streamlit, TensorFlow, Keras, Scikit-learn, Pandas, NumPy, LIME, SHAP, Docker, Docker Compose, GitHub Actions, Azure Virtual Machines, Azure Container Instances, SQL
Considerações Finais
Este projeto representa uma solução completa de análise de crédito, combinando boas práticas de Machine Learning, Engenharia de Software e MLOps. A arquitetura foi projetada para suportar evolução contínua, novos modelos e integração com ambientes corporativos.