Rendimiento del modelo de crédito

Modelado del riesgo crediticio en Python

Michael Crabtree

Data Scientist, Ford Motor Company

Puntuación de accuracy del modelo

  • Calcula la accuracy

Fórmula de accuracy

  • Usa el método .score() de scikit-learn
# Comprueba la accuracy en los datos de test
clf_logistic1.score(X_test,y_test)
0.81
  • 81% de los valores de loan_status predichos correctamente
Modelado del riesgo crediticio en Python

Gráficas de curva ROC

  • Curva ROC (Receiver Operating Characteristic)
    • Grafica tasa de verdaderos positivos (sensibilidad) frente a tasa de falsos positivos (fall-out)
fallout, sensitivity, thresholds = roc_curve(y_test, prob_default)
plt.plot(fallout, sensitivity, color = 'darkorange')

Ejemplo de gráfica ROC

Modelado del riesgo crediticio en Python

Analizar gráficas ROC

  • Área bajo la curva (AUC): área entre la curva y la predicción aleatoria

Ejemplo de ROC con anotación de lift y AUC

Modelado del riesgo crediticio en Python

Umbrales de default

  • Umbral: a partir de qué probabilidad es default

Diagrama de umbral de probabilidad

Modelado del riesgo crediticio en Python

Definir el umbral

  • Reetiqueta los préstamos según nuestro umbral de 0.5
preds = clf_logistic.predict_proba(X_test)
preds_df = pd.DataFrame(preds[:,1], columns = ['prob_default'])
preds_df['loan_status'] = preds_df['prob_default'].apply(lambda x: 1 if x > 0.5 else 0)

Muestra de datos con probabilidades y estado del préstamo

Modelado del riesgo crediticio en Python

Informes de clasificación de crédito

  • classification_report() de scikit-learn
from sklearn.metrics import classification_report
classification_report(y_test, preds_df['loan_status'], target_names=target_names)

Ejemplo de informe de clasificación

Modelado del riesgo crediticio en Python

Seleccionar métricas de clasificación

  • Selecciona y guarda componentes concretos de classification_report()
  • Usa la función precision_recall_fscore_support() de scikit-learn

Ejemplo de informe de clasificación con recall por defecto

from sklearn.metrics import precision_recall_fscore_support
precision_recall_fscore_support(y_test,preds_df['loan_status'])[1][1]
Modelado del riesgo crediticio en Python

¡Vamos a practicar!

Modelado del riesgo crediticio en Python

Preparing Video For Download...