Projeto de machine learning para análise de dados e classificação de clientes que potencialmente poderão encerrar suas contas em um banco, os dados estão disponíveis na plataforma Kaggle.
O problema a ser solucionado consiste em utilizar os dados bancários dos clientes que efetuaram ou não o encerramento de suas contas para criar um modelo preditivo que irá identificar possíveis clientes que poderão ou não deixar a instituição bancária, podendo assim determinar a taxa de churn (rotatividade/perda de clientes) e com base nos perfis mapeados tomar ações para retenção dos mesmos, evitando impactos como, por exemplo, aumento de custos, queda de lucro, reputação da marca entre outros fatores sensíveis a experiência do cliente com o produto da empresa.
- Analisar a correlação dos dados dos clientes.
- Gerar um modelo preditivo de churn de clientes.
- Análise das medidas estatísticas dos dados
- Distribuição dos valores da váriavel dependente (target)
- Distribuição dos dados entre as variáveis independentes (features) e dependente (target)
- Correlação entre as variáveis
- Preparação dos dados para aplicação no modelo preditivo
- Separação (treino e teste), padronização e balanceamento dos dados
- Modelo preditivo: Regressão Logística
- Busca pelos melhores parâmetros e treinamento do modelo
- Treinamento e predições do modelo
- Métricas de avaliação do modelo
- Modelo preditivo: Decision Tree
- Busca pelos melhores parâmetros e treinamento do modelo
- Treinamento e predições do modelo
- Métricas de avaliação do modelo
- Modelo preditivo: Random Forest
- Busca pelos melhores parâmetros e treinamento do modelo
- Treinamento e predições do modelo
- Métricas de avaliação do modelo
- Modelo preditivo: SVM (Support Vector Machine)
- Busca pelos melhores parâmetros e treinamento do modelo
- Treinamento e predições do modelo
- Métricas de avaliação do modelo
- Comparativo gráfico e de métricas
- Conclusão
RowNumber: Números de linha de 1 a 10.000
CustomerId: Ids exclusivos para identificação do cliente do banco
Surname: Sobrenome do cliente
CreditScore: Score do cliente
Geography: País onde o cliente reside
Gender: Gênero, masculino ou feminino
Age: Idade do cliente
Tenure: Número de anos que o cliente está no banco
Balance: Saldo bancário do cliente
NumOfProducts: Número de produtos bancários que o cliente está utilizando
HasCrCard: Flag para saber se o cliente possui um cartão de crédito com o banco ou não
IsActiveMember: Flag para saber se o cliente é um membro ativo do banco ou não
EstimatedSalary: Salário estimado do cliente em dólares
Exited: Flag, 1 se o cliente encerrou a conta no banco e 0 se o cliente permaneceu
- Python
- Biblioteca GC
- Biblioteca Pandas
- Biblioteca Matplotlib
- Biblioteca Seaborn
- Biblioteca Numpy
- Biblioteca Warnings
- Biblioteca Tabulate
- Biblioteca SciKit-learn
- Biblioteca Imbalanced-learn
Licença MIT (MIT). Por favor leia o arquivo da licença para mais informações.