Este projeto tem como objetivo desenvolver um modelo capaz de prever se um cliente está prestes a deixar um banco fictício. Para isso, são analisados dados sobre o comportamento passado dos clientes e rescisões de contratos com o banco.
- Python: Linguagem principal utilizada para a análise.
- Pandas: Biblioteca para manipulação e análise de dados.
- Sklearn: Biblioteca para construção de modelos de machine learning.
- Matplotlib.pyplot: Biblioteca para construção de gráficos.
- Seaborn: Biblioteca para construção de gráficos.
O conjunto de dados possui os seguintes campos:
RowNumber
— Índice das strings de dadosCustomerId
— Identificador exclusivo do clienteSurname
— SobrenomeCreditScore
— Pontuação de créditoGeography
— País de residênciaGender
— GêneroAge
— IdadeTenure
— Período de maturação para o depósito fixo de um cliente (anos)Balance
— Saldo da contaNumOfProducts
— Número de produtos bancários usados pelo clienteHasCrCard
— Cliente possui cartão de crédito (1 - sim; 0 - não)IsActiveMember
— Cliente ativo (1 - sim; 0 - não)EstimatedSalary
— Salário estimadoExited
— O cliente saiu (1 - sim; 0 - não)
- Importar as bibliotecas necessárias.
- Carregar e visualizar os dados.
- Identificar e tratar valores ausentes ou duplicados.
- Identificação das features e target do modelo.
- Divisão dos conjuntos em treino, teste e validação.
- Ajustando o equilíbrio de classes.
- Regressão Logística
- Treino
- Teste
- Validação
- Aplicação do modelo com e sem o equilíbrio de classes.
- F1-score
- AUC-ROC
O modelo apresentou bons resultados nas métricas utilizadas, como o F1-score e o AUC-ROC. Embora o modelo não atinja o valor máximo em ambas as métricas, seu desempenho é aceitável para ser colocado em uso. Além disso, a Curva ROC indica que ele apresenta resultados superiores ao modelo aleatório.
- Análise de dados: Interpretação e extração de insights valiosos a partir de grandes volumes de dados.
- Preparação do conjunto para Machine Learning: Separação do conjunto original em treino e teste, além da seleção das features e target do modelo.
- Equilíbrio de classes: Ajuste das features do modelo para reduzir o viés de uma classe.
- Aplicação de modelos de Machine Learning: Aplicação, seleção de hiperparâmetros, teste e avaliação do modelo.
- Documentação de projetos: Elaboração de documentação clara e detalhada para garantir que o projeto seja compreensível e replicável.
- Utilização de bibliotecas e ferramentas: Aplicação prática de diversas bibliotecas e ferramentas do ecossistema Python.
- Tomada de decisões baseadas em dados: Uso de insights derivados da análise de dados para orientar decisões estratégicas.
- Clone este repositório
- Instale as dependências listadas acima
- Execute o aplicativo: