https://github.com/paulo-santos-ds/churn
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
https://github.com/paulo-santos-ds/churn
churn-analysis dados machine-learning modelo python3 sklearn-library
Last synced: 23 days ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/paulo-santos-ds/churn
- Owner: paulo-santos-ds
- Created: 2024-10-19T14:50:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-08T02:10:35.000Z (about 1 year ago)
- Last Synced: 2025-07-18T14:14:04.192Z (11 months ago)
- Topics: churn-analysis, dados, machine-learning, modelo, python3, sklearn-library
- Language: Jupyter Notebook
- Homepage:
- Size: 434 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Previsão de Churn
## Descrição do Projeto
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.
## Ferramentas e Bibliotecas Utilizadas
- **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.
## Tabela
O conjunto de dados possui os seguintes campos:
- `RowNumber` — Índice das strings de dados
- `CustomerId` — Identificador exclusivo do cliente
- `Surname` — Sobrenome
- `CreditScore` — Pontuação de crédito
- `Geography` — País de residência
- `Gender` — Gênero
- `Age` — Idade
- `Tenure` — Período de maturação para o depósito fixo de um cliente (anos)
- `Balance` — Saldo da conta
- `NumOfProducts` — Número de produtos bancários usados pelo cliente
- `HasCrCard` — Cliente possui cartão de crédito (1 - sim; 0 - não)
- `IsActiveMember` — Cliente ativo (1 - sim; 0 - não)
- `EstimatedSalary` — Salário estimado
- `Exited` — O cliente saiu (1 - sim; 0 - não)
## Metodologia
### 1. Análise Exploratória de Dados
- Importar as bibliotecas necessárias.
- Carregar e visualizar os dados.
### 2. Pré-processamento
- Identificar e tratar valores ausentes ou duplicados.
### 3. Preparação do Conjunto para o Modelo
- Identificação das **features** e **target** do modelo.
- Divisão dos conjuntos em treino, teste e validação.
- Ajustando o equilíbrio de classes.
### 4. Construindo e Testando Modelos
- **Regressão Logística**
- Treino
- Teste
- Validação
- Aplicação do modelo com e sem o equilíbrio de classes.
### 5. Métricas de Avaliação
- F1-score
- AUC-ROC
## Resultados
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.
## Aprendizados
- **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.
## 🛠️ Instalação
1. Clone este repositório
2. Instale as dependências listadas acima
3. Execute o aplicativo: