Skip to content

Repository files navigation

PROJETO PYTHON COM IA - PREVISÃO DE SCORE DE CRÉDITO

Esta é uma Análise de SCORE de cliente em um banco com IA.

Note

Imagine o seguinte cenário>> você atua no time de dados em um banco e tem uma base de dados de 100.000 clientes e precisa verificar o score (pontuação) do cliente para saber se é um bom cliente ou não. Isso vai definir se o banco vai emprestar dinheiro, se ele vai ter crédito entre outros benefícios dentro do banco. Então o objetivo é fazer um tratamento na base de dados e criar alguns algoritmos de classificação e verificar qual deles é o melhor. Com isso eu vou conseguir fazer uma previsão dos clientes para saber se ele vai ser um cliente com um bom score ou não. Isso é muito importante, pois o banco não vai querer um cliente que não paga e que fica devendo não é mesmo? Esse já é um projeto para análise de dados, então, novamente você vai ver a importância de fazer o tratamento e a análise dos dados para chegar em um resultado aceitável para o seu projeto. Lembrando que nunca vai ser possível conseguir ter um modelo com 100% de acerto, isso é inviável, mas o objetivo é chegar em um valor aceitável que seja bom tanto para quem está construindo o projeto quanto para quem está solicitando o projeto!.

Os passos a passos são: 🥇👩‍💻

○-- Importar a base de dados

○-- Verificar informações vazias

○-- Fazer o tratamento na base de dados

○-- Selecionar as colunas de treino para o modelo

○-- Treinar 2 modelos de IA

○-- Verificar o melhor modelo

○-- Verificar quais as características mais importantes para definir o score do cliente

Projeto: Python IA – Previsão de Score de Crédito

Criação de um projeto completo com inteligência artificial (IA). O desafio simula o cenário de um banco analisando clientes novos para prever o score de crédito (nota de crédito). O sistema deverá prever automaticamente se um cliente novo é bom, médio ou ruim para:
✅ Definir limites de crédito,
✅ Conceder empréstimos,
✅ Aplicar taxas de juros.
Foi inspirado em como empresas como o Nubank operam com sistemas automatizados de análise de risco.

✅ Passo 0 – Entender o desafio e a empresa

Antes de qualquer código, é crucial entender:
Qual o problema que a empresa quer resolver?
Qual o impacto que a solução precisa ter?

Isso influencia decisões técnicas como:
O tipo de modelo de IA a ser usado?
O nível de precisão necessário?
Exemplo: 90% de acurácia pode ser bom para banco, mas insuficiente para farmacêuticas.


✅ Passo 1 – Importar e visualizar a base de dados

Base de dados será em .csv -> clientes.csv, novos_clientes.csv
Importar os dados no Python para entender o formato e as informações disponíveis.


✅ Passo 2 – Preparar a base de dados para IA

IAs trabalham com números, não com texto.
Será necessário:
- Tratar dados (limpeza, remoção de nulos, etc.),
- Converter categorias/textos em números (ex: one-hot encoding),
- Normalizar ou padronizar os dados.
A preparação correta da base é essencial para que o modelo funcione.

Foi observado que:
- Os tipos de dados estão coerentes.
- Não há valores nulos visíveis inicialmente.
- Porém, existem colunas com valores textuais (object) que precisarão ser tratadas.

A base traz atributos diversos: idade, profissão, saldo, número de cartões, empréstimos, dias de atraso, entre outros.
A coluna alvo ao qual irá sofrer a previsão (target) é o score de crédito, que pode ter três valores:
- good (bom),
- standard (médio),
- poor (ruim).

Importante: os algoritmos de ML só entendem números, portanto, as variáveis categóricas (texto/object) devem ser convertidas.

Identificadas as colunas que estão como (texto/object) e que precisam ser tratadas:
. Profissão
. Mix de crédito
. Comportamento de pagamento
A única coluna textual que pode continuar como texto/object é a que irá sofrer a previsão coluna-alvo (score de crédito).

O Processo de Label Encoding

O Label Encoding é utilizado para transformar as colunas de texto em números. O exemplo usado foi a coluna "profissão", onde profissões como "cientista", "mecânico" e "ator" são substituídas por números (1, 2, 3, etc.).
O Label Encoder mapeia cada valor único (como uma profissão) para um número. Por exemplo, "cientista" pode ser mapeado para 1, "mecânico" para 2, e assim por diante.

Implementando o Label Encoder no Código

Para usar o Label Encoder no Python, é necessário importar a ferramenta da biblioteca sklearn.preprocessing.

from sklearn.preprocessing import LabelEncoder

A transformação é realizada usando o método fit_transform do codificador.

tabela['profissao'] = codificador.fit_transform(tabela['profissao'])

Aplicação e Teste

Após aplicar o Label Encoder, as colunas de texto se transformam em colunas numéricas.
O projeto mostra como, ao rodar o código, as profissões que antes estavam representadas por texto (como "cientista" ou "mecânico") agora são representadas por números inteiros.
O processo é repetido para outras colunas como "mix de crédito" e "comportamento de pagamento".
O Label Encoding é uma técnica fundamental para preparar dados categóricos em formato numérico para modelos de aprendizado de máquina.
O Python facilita esse processo através de bibliotecas como o sklearn, oferecendo métodos prontos para transformar colunas de texto em números e vice-versa, otimizando o fluxo de trabalho de análise de dados.

Essas etapas são a preparação inicial da base de dados, permitindo que ela seja usada em modelos de aprendizado de máquina mais avançados.

Divisão de Dados em Treinamento e Teste

Objetivo: Separar os dados em duas partes, uma para treinamento e outra para teste, para avaliar a performance do modelo.
Função do SKlearn: no código foi demonstrado como usar a função train_test_split do SKlearn para dividir os dados de forma simples. A divisão gera quatro variáveis: X_treino, X_teste, Y_treino, e Y_teste.
Importante: A ordem dos parâmetros deve ser seguida corretamente (primeiro X_treino, depois X_teste, seguido por Y_treino e Y_teste). O Python embaralha aleatoriamente os dados para evitar viés na divisão.

Definindo o Percentual de Dados para Teste

Por padrão, a divisão é de 70% para treinamento e 30% para teste, mas o percentual pode ser ajustado conforme necessário.
Importante: O teste nunca pode ter menos de 10% dos dados nem mais de 40%. O recomendado é que a divisão de teste fique entre 20% e 30%.

Escolha do Tipo de Dados para Previsão

Pergunta Frequente: O que fazer se os dados de Y (o alvo da previsão) forem números ou datas?
Resposta: Não é necessário transformar em texto. Pode-se usar dados numéricos ou datas diretamente. A inteligência artificial pode prever qualquer tipo de dado, enquanto os dados de entrada (X) precisam ser numéricos.


✅ Passo 3 – Criar o modelo de IA

Construção do algoritmo que fará a previsão do score de crédito com base na base de dados já tratada.
O modelo irá aprender a partir dos dados existentes (clientes com score conhecido).

Processo de Criação da IA:

Para criar um modelo de inteligência artificial, o processo é dividido em três passos:

  1. Importar o modelo: Utilizando o SKlearn no Python.
  2. Criar o modelo: Definindo qual tipo de modelo será utilizado (como RandomForest ou KNN).
  3. Treinar o modelo: Utilizando os dados de treino (X_treino e Y_treino) com o método .fit().

Modelos de IA

Existem milhares de tipo de modelos, e para este estudo irei pegar 2 dos principais modelos usados por várias empresa: Árvore de Decisão e KNN (K-Nearest Neighbors).

Árvore de Decisão: Este modelo faz uma série de perguntas sobre os dados para dividir as informações em "nós", formando uma árvore que ajuda na tomada de decisões. A árvore de decisão é usada, por exemplo, para prever o score de crédito de um cliente com base em diferentes características.

KNN (K-Nearest Neighbors): Neste modelo, os dados são representados em um gráfico, e a previsão é feita com base na proximidade entre os dados. O modelo avalia os vizinhos mais próximos de um ponto (cliente, por exemplo) e decide a classificação com base nisso.

modelo_arvoredecisao = RandomForestClassifier()
modelo_knn = KNeighborsClassifier()

Modelos IA subindo

Clique nos links dos modelos para entender melhor como funcionam Modelo Árvore de Decisão e o Modelo Vizinhos Mais Próximos - KNN.

Projeto Python IA uso de 2 modelos


✅ Passo 4 – Comparar e escolher o melhor modelo

Após criar o modelo inicial, serão testadas diferentes abordagens ou algoritmos.
O objetivo é encontrar o modelo com melhor desempenho (ex: acurácia, recall, etc.) para o problema em questão.

Comparação entre Modelos Acurácia

Calculando a acurácia, que é a porcentagem de previsões corretas em relação ao total. O código foi demonstrado para calcular e comparar a acurácia dos modelos de Árvore de Decisão e KNN.


0.83392 (RandomForest)

0.79716 (KNN)

Interpretação de Resultados

Melhor Modelo: O modelo de Árvore de Decisão foi considerado superior com base na acurácia. No entanto, a escolha do melhor modelo depende do contexto e do problema a ser resolvido.


0.83392 ()


✅ Passo 5 - Usar o Modelo em Novos Clientes - novas previsões

• Depois de escolher o melhor modelo, é a hora de colocar a IA para funcionar de verdade. • Isso significa usar esse modelo para prever a nota de crédito de novos clientes, ou seja, clientes que ainda não estão na base de dados. • A IA usará as características desses novos clientes para prever se eles são bons, médios ou maus pagadores.

✅ Passo 6 - Previsão para Novos Clientes

Com o modelo treinado e escolhido:

Uma nova base novos_clientes.csv é importada. Aplicam-se os mesmos tratamentos e codificações. O modelo prevê automaticamente o score dos novos clientes.

Novos clientes sendo adicionados na base com o SCORE baseado em IA


Conclusão

O projeto demonstrou o passo a passo de como construir uma solução prática de IA em Python. Da preparação à aplicação real, o conteúdo mostrou que, com ferramentas acessíveis e organização, é possível criar modelos eficientes para resolver problemas reais de negócios.

💡 A experiência me mostrou como, com dados bem preparados e ferramentas acessíveis, é possível desenvolver soluções inteligentes e aplicáveis ao mundo real — como acontece em fintechs como o Nubank.

Foi uma experiência prática muito transformadora — mostrando como dados + lógica + IA = decisões automatizadas e escaláveis, como acontece em empresas financeiras.

Para mim foi incrível ver a IA tomando decisões com base em padrões dos dados!

🔁 Agora, é aplicar esse conhecimento em novos desafios! Porque não é somente este ramo que se vale deste recurso para categorizar seus clientes não.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages