Sélection des variables selon l'AUC

Modélisation du risque de crédit en R

Lore Dirick

Manager of Data Science Curriculum at Flatiron School

Courbes ROC pour 4 modèles de régression logistique

Capture d'écran du 2020-06-22 à 18 h 31 min 53 s

Modélisation du risque de crédit en R

Courbes ROC pour 4 modèles de régression logistique

Capture d'écran du 2020-06-22 à 18 h 31 min 44 s

Modélisation du risque de crédit en R

Courbes ROC pour 4 modèles de régression logistique

Capture d'écran du 2020-06-22 à 18 h 31 min 33 s

Modélisation du risque de crédit en R

Élagage fondé sur l'AUC

1) Démarrez avec un modèle incluant toutes les variables (ici, 7) et calculez l'AUC

log_model_full <- glm(loan_status ~ loan_amnt + grade + home_ownership + 
                      annual_inc + age + emp_cat + ir_cat, 
                      family = "binomial", data = training_set)

predictions_model_full <- predict(log_model_full, 
                                  newdata = test_set, type ="response")

AUC_model_full <- auc(test_set$loan_status, predictions_model_full)
Surface sous la courbe : 0.6512
Modélisation du risque de crédit en R

2) Construisez 7 nouveaux modèles en retirant à chaque fois une variable, puis générez des prédictions PD avec l'ensemble de test

log_1_remove_amnt <- glm(loan_status ~ grade + home_ownership + annual_inc + age + emp_cat + ir_cat,
                         family = "binomial",
                         data = training_set)

log_1_remove_grade <- glm(loan_status ~ loan_amnt + home_ownership + annual_inc + age + emp_cat + ir_cat,
                          family = "binomial",
                          data = training_set)

log_1_remove_home <- glm(loan_status ~ loan_amnt + grade + annual_inc + age + emp_cat + ir_cat,
                         family = "binomial",
                         data = training_set)

pred_1_remove_amnt <- predict(log_1_remove_amnt, newdata = test_set, type = "response")
pred_1_remove_grade <- predict(log_1_remove_grade, newdata = test_set, type = "response")
pred_1_remove_home <- predict(log_1_remove_home, newdata = test_set, type = "response")
...
Modélisation du risque de crédit en R

3) Conservez le modèle avec la meilleure AUC (AUC modèle complet : 0.6512)

auc(test_set$loan_status, pred_1_remove_amnt)
Surface sous la courbe : 0.6537
auc(test_set$loan_status, pred_1_remove_grade)
Surface sous la courbe : 0.6438
auc(test_set$loan_status, pred_1_remove_home)
Surface sous la courbe : 0.6537

4) Répétez jusqu'à ce que l'AUC diminue (de façon significative)

Modélisation du risque de crédit en R

Passons à la pratique !

Modélisation du risque de crédit en R

Preparing Video For Download...