CommencerCommencer gratuitement

Tracer les courbes d’AUC

La sélection progressive avant (forward stepwise) fournit un ordre optimal d’ajout des variables à l’ensemble de prédicteurs. Pour décider où arrêter l’ajout de variables, vous pouvez tracer les courbes d’AUC d’entraînement et de test. Ces courbes représentent l’AUC d’entraînement et de test en utilisant la première, les deux premières, les trois premières, … variables du modèle.

Dans cet exercice, vous allez apprendre à tracer ces courbes d’AUC. La méthode auc_train_test pour calculer les valeurs d’AUC a été implémentée pour vous et s’utilise comme suit :

auc_train, auc_test = auc_train_test(variables, target, train, test)

variables est l’ensemble des variables utilisées dans le modèle de régression logistique, target est une liste contenant le nom de la cible, et train et test sont respectivement les basetables d’entraînement et de test.

Les variables ordonnées selon la procédure forward stepwise sont données dans la liste variables. Vous pouvez l’explorer dans la console. De plus, trois listes vides ont été définies pour vous :

  • auc_values_train, qui contiendra les valeurs d’AUC d’entraînement du modèle à chaque itération
  • auc_values_test, qui contiendra les valeurs d’AUC de test du modèle à chaque itération
  • variables_evaluate, qui contiendra les variables évaluées à chaque itération

Cet exercice fait partie du cours

Introduction à l’analytique prédictive en Python

Afficher le cours

Instructions

  • Itérez sur les variables.
  • À chaque itération, ajoutez la variable suivante de variables à variables_evaluate.
  • À chaque itération, calculez les AUC d’entraînement et de test à l’aide de la méthode auc_train_test. Les DataFrames train et test contiennent respectivement les données d’entraînement et de test.
  • À chaque itération, ajoutez les valeurs calculées à auc_values_train et auc_values_test

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Keep track of train and test AUC values
auc_values_train = []
auc_values_test = []
variables_evaluate = []

# Iterate over the variables in variables
for v in ____:
  
    # Add the variable
    variables_evaluate.append(____)
    
    # Calculate the train and test AUC of this set of variables
    auc_train, auc_test = ____(____, ["target"], ____, ____)
    
    # Append the values to the lists
    auc_values_train.append(____)
    auc_values_test.append(____)
    
# Make plot of the AUC values
import matplotlib.pyplot as plt
import numpy as np

x = np.array(range(0,len(auc_values_train)))
y_train = np.array(auc_values_train)
y_test = np.array(auc_values_test)
plt.xticks(x, variables, rotation = 90)
plt.plot(x,y_train)
plt.plot(x,y_test)
plt.ylim((0.6, 0.8))
plt.show()
Modifier et exécuter le code