Loading repository data…
Loading repository data…
rafaelporfiriobarros / repository
Neste projeto, o objetivo é prever qual a probabilidade de um cliente do Nubank não cumprir com suas obrigações financeiras e deixar de pagar a sua fatura do Cartão de Crédito.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Este projeto tem como objetivo desenvolver um modelo de Machine Learning para previsão de inadimplência (Credit Default Prediction), simulando um cenário real de análise de risco de crédito em uma instituição financeira.
O trabalho segue a metodologia CRISP-DM, passando pelas etapas de entendimento do problema, exploração dos dados, preparação, modelagem, avaliação e interpretação dos resultados. Todo o processo foi desenvolvido em Python, utilizando boas práticas de ciência de dados e construção de pipelines reprodutíveis.
O conjunto de dados contém aproximadamente 45.000 registros e 43 variáveis, representando informações financeiras, cadastrais e comportamentais dos clientes, como score de crédito, limite disponível, renda, histórico de empréstimos, consultas realizadas por provedores externos, entre outras.
Durante a análise exploratória foram realizadas diversas etapas para compreender a qualidade dos dados e identificar padrões relevantes:
Além das análises estatísticas, foram investigadas relações entre variáveis como Score de Crédito, Risk Rate, Renda, Limite de Crédito, Histórico de Empréstimos e consultas realizadas por provedores externos.
Foram criadas novas variáveis com o objetivo de melhorar a capacidade preditiva dos modelos, incluindo:
Foram treinados e comparados diferentes algoritmos de Machine Learning:
Todos os modelos foram treinados utilizando um pipeline único de pré-processamento, garantindo que as transformações fossem aplicadas corretamente tanto nos dados de treino quanto de teste.
Os modelos foram comparados utilizando métricas amplamente empregadas em problemas de risco de crédito:
Após a avaliação, foi selecionado o modelo com melhor desempenho para análise detalhada.
Para aumentar a transparência das previsões foi utilizada a técnica de interpretabilidade Feature Importance.
Essa análise permitiu compreender quais variáveis exerceram maior influência nas decisões do modelo.
Entre os Scores, o Score 3 é o mais diversificado para uma análise bi e multivariada, onde o score 340.0 é o valor mais frequente.
Em Risk Rate o valor de 0.29 é o valor mais frequente, onde o valor máximo registrado é de 0.57.
Em Last Amount Borrowed o valor de 12,024.02 é o mais frequente, e praticamente isolado, pois em segundo lugar vem o valor de 10022.75 com apenas 3 registros.
Em Last Borrowed in Months 36,0 meses é o intervalo com mais frequência.
Em Credit Limit o valor de 29,942.00 é o valor mais frequente, e praticamente isolado, pois em segundo lugar vem o valor de 10,000.0 com apenas 107 registros.
Em Income o valor de 60,022.37 é o mais frequente, e praticamente isolado, pois em segundo lugar vem o valor de 75,017.74 com apenas 5 registros.
Em Ok Since temos o valor de 32,0 com mais frequência e praticamente isolado, com 20,084 registros.
Em N Bankruptcies podemos ver que os clientes não tiveram declaração de falência.
Em N Defaulted Loans podemos ver que número de empréstimos não possuem inadimplência.
Em N Accounts podemos ver que grande parte dos clientes possuem mais de 5 a 10 contas ou créditos em seus nomes.
Em N Issues podemos ver que 10 problemas ou ocorrências, irregularidades associadas as contas dos clientes são mais frequentes, seguidas de 9, 8 e 11 ocorrências.
Em External Data Provider Credit Checks Last 2 Years possuem 0 quantidade de consultas.
External Data Provider Credit Checks Last Month já é um pouco diferente. 2 é o números mais frequente de vezes que provedores externos consultaram o histórico de crédito no mês anterior.
Em External Data Provider Credit Checks Last Year 1 que siginica True é o numero com mais frequência em consultas dos dados históricos de crédito.
Sobre as correlações feitas com Diagramas de Dispersão, Correlação de Pearson, e verificação de Multicolinearidade utilizando VIF(Variance Inflation Factor):
Não foi detectado correlações significativas entre as variáveis utilizando a técnica Correlação de Pearson.
As Correlações de Pearson ficaram abaixo de 0.50, apenas duas variáveis tiveram um valor de 0.84.
No teste do VIF, os valores de quase todas as variáveis ficaram abaixo de 5.0, que é o aceitável para a inexistência de multicolinearidade, e correlação, apenas a variável last_borrowed_in_months ficou com valor de 1,222.99, provavelmente é um erro.
Perguntas de Negócio
Foram criadas perguntas de negócio iniciais para os Médios - Score 3 de 301 até 700, que significa um médio risco de inadimplência.
Com isso detectamos as seguintes informações:
Há clientes com Médios - Score 3 de 301 até 700 que possuem Risk Rate maior do que 0.50, significando um certo risco de inadimplência.
Há clientes com Médios - Score 3 de 301 até 700 que fizeram últimos empréstimos maiores que 20.000.
Há clientes com Médios - Score 3 de 301 até 700 com limite de crédito maior que 50.000.
Há clientes com Médios - Score 3 de 301 até 700 com Renda entre 10.000 a 30.000.
Há clientes com Médios - Score 3 de 301 até 700 com OK Since entre 5 meses a 10 meses. Isso significa que há possível inadimplência.
Há clientes com Médios - Score 3 de 301 até 700 com 0 registros de falência.
Há clientes com Médios - Score 3 de 301 até 700 que possuem mais de 1 conta.
Há clientes com Médios - Score 3 de 301 até 700 que possuem problemas (n_issues) maiores do que 1.
Há clientes com Médios - Score 3 de 301 até 700 que possuem o "número de vezes que um provedor de dados externo realizou uma verificação de crédito sobre uma pessoa no último mês."(external_data_provider_credit_checks_last_month) maiores do que 1. Isso significa que houve checagem na verificação de crédito.
Há clientes com Médios - Score 3 de 301 até 700 que possuem "número de vezes que um provedor de dados externo realizou uma verificação de crédito sobre uma pessoa no último ano."(external_data_provider_credit_checks_last_year) igual a 1. Isso também significa que houve checagem na verificação de crédito.
Há clientes com Médios - Score 3 de 301 até 700 que possuem Renda Reportada maior que 100.000.
Há clientes com Médios - Score 3 de 301 até 700 que estão em outros estados além de SP.
Há clientes com Médios - Score 3 de 301 até 700 que posseum inadimplência (target_default = 1).
O notebook modelling_novo.ipynb reúne todo o processo de construção, treinamento e avaliação de modelos de Machine Learning para previsão de inadimplência (Credit Default Prediction). O objetivo é identificar clientes com maior probabilidade de entrar em default, auxiliando a tomada de decisão na concessão de crédito.
Inicialmente foram importadas as principais bibliotecas utilizadas no projeto, incluindo:
O conjunto de dados é carregado a partir do arquivo acquisition_train.csv, contendo informações cadastrais, financeiras e comportamentais dos clientes.
Também é realizada uma inspeção inicial da base para verificar:
Nesta etapa são removidas variáveis que não agregam valor ao modelo, incluindo:
Também são tratados registros inconsistentes, como valores extremamente elevados de renda informada **(reported_
Em Reported Income o valor de 100,720.00 é o mais frequente. Em segundo lugar vem o valor de 26,601.00.
Em Shipping State é basicamente o registro dos estados onde se localizam cada cliente. SP é o estado com mais frequência.
E em Target Default podemos ver que há mais registros positivos com relação aos créditos.