Régression logistique pour la probabilité de défaut

Modélisation du risque de crédit en Python

Michael Crabtree

Data Scientist, Ford Motor Company

Probabilité de défaut

  • La probabilité de défaut est la chance qu’une personne fasse défaut
  • Une valeur entre 0 et 1, par ex. 0.86
  • loan_status vaut 1 en cas de défaut, 0 sinon
Modélisation du risque de crédit en Python

Probabilité de défaut

  • La probabilité de défaut est la chance qu’une personne fasse défaut
  • Une valeur entre 0 et 1, par ex. 0.86
  • loan_status vaut 1 en cas de défaut, 0 sinon
Probabilité de défaut Interprétation Statut de prêt prédit
0.4 Peu probable de faire défaut 0
0.90 Très probable de faire défaut 1
0.1 Très peu probable de faire défaut 0
Modélisation du risque de crédit en Python

Prédire des probabilités

  • Probabilités de défaut issues du machine learning
    • Apprendre à partir des colonnes (features)
  • Modèles de classification (défaut, non défaut)
  • Deux modèles courants :
    • Régression logistique
    • Arbre de décision

Exemple de régression logistique et d’arbre de décision

Modélisation du risque de crédit en Python

Régression logistique

  • Similaire à la régression linéaire, mais produit seulement des valeurs entre 0 et 1

Formule pour régression linéaire et régression logistique

Exemple de graphes : régression linéaire et régression logistique

Modélisation du risque de crédit en Python

Entraîner une régression logistique

  • Régression logistique disponible dans le package scikit-learn
from sklearn.linear_model import LogisticRegression
  • Appelée comme une fonction avec ou sans paramètres
clf_logistic = LogisticRegression(solver='lbfgs')
  • S’entraîne avec la méthode .fit()
clf_logistic.fit(training_columns, np.ravel(training_labels))
  • Colonnes d’entraînement : toutes les colonnes sauf loan_status
  • Étiquettes : loan_status (0,1)
Modélisation du risque de crédit en Python

Entraînement et test

  • L’ensemble de données est généralement scindé en deux parties
Modélisation du risque de crédit en Python

Entraînement et test

  • L’ensemble de données est généralement scindé en deux parties
Sous-ensemble Usage Part
Train Apprendre à prédire à partir des données 60%
Test Évaluer sur des données inédites 40%
Modélisation du risque de crédit en Python

Créer les ensembles d’entraînement et de test

  • Séparer en colonnes d’entraînement et étiquettes
X = cr_loan.drop('loan_status', axis = 1)
y = cr_loan[['loan_status']]
  • Utiliser la fonction train_test_split() de scikit-learn
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.4, random_state=123)
  • test_size : part réservée au test
  • random_state : graine aléatoire pour la reproductibilité
Modélisation du risque de crédit en Python

Passons à la pratique !

Modélisation du risque de crédit en Python

Preparing Video For Download...