Powered by AI
Copilot
Para criar um modelo preditivo que ajude o banco a decidir se deve aprovar um empréstimo a um potencial
candidato, você pode seguir os seguintes passos:
1. Importar as Bibliotecas Necessárias
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder, StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
2. Carregar e Explorar os Dados
# Carregar os dados
df = pd.read_csv('seu_arquivo.csv')
# Visualizar as primeiras linhas do dataframe
print(df.head())
# Verificar informações gerais sobre os dados
print(df.info())
3. Pré-processamento dos Dados
Tratar valores ausentes
Codificar variáveis categóricas
Normalizar variáveis numéricas
# Tratar valores ausentes
df.fillna(method='ffill', inplace=True)
# Codificar variáveis categóricas
label_encoders = {}
categorical_columns = ['Sex', 'Job', 'Housing', 'Saving accounts', 'Checking account', 'Purpose']
for column in categorical_columns:
le = LabelEncoder()
df[column] = le.fit_transform(df[column])
label_encoders[column] = le
# Normalizar variáveis numéricas
scaler = StandardScaler()
numerical_columns = ['Age', 'Credit amount', 'Duration']
df[numerical_columns] = scaler.fit_transform(df[numerical_columns])
4. Dividir os Dados em Conjunto de Treinamento e Teste
X = df.drop('Risk', axis=1)
y = df['Risk']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
5. Treinar o Modelo
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
6. Avaliar o Modelo
y_pred = model.predict(X_test)
# Avaliar a acurácia
accuracy = accuracy_score(y_test, y_pred)
print(f'Acurácia: {accuracy:.2f}')
# Matriz de confusão
conf_matrix = confusion_matrix(y_test, y_pred)
print('Matriz de Confusão:')
print(conf_matrix)
# Relatório de classificação
class_report = classification_report(y_test, y_pred)
print('Relatório de Classificação:')
print(class_report)
7. Fazer Previsões
# Exemplo de previsão com novos dados
novo_cliente = [[30, 1, 2, 1, 0, 1, 5000, 24, 0]]
novo_cliente = scaler.transform(novo_cliente)
previsao = model.predict(novo_cliente)
print(f'Previsão de Risco: {previsao[0]}')
Esses passos devem ajudá-lo a construir um modelo preditivo básico para prever o risco de inadimplência de
um candidato a empréstimo. Se precisar de mais detalhes ou tiver alguma dúvida específica, sinta-se à vontade
para perguntar!