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)
où 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érationauc_values_test, qui contiendra les valeurs d’AUC de test du modèle à chaque itérationvariables_evaluate, qui contiendra les variables évaluées à chaque itération
Cet exercice fait partie du cours
Introduction à l’analytique prédictive en Python
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 DataFramestrainettestcontiennent respectivement les données d’entraînement et de test. - À chaque itération, ajoutez les valeurs calculées à
auc_values_trainetauc_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()