Tracer les courbes d'AUC
La procédure de sélection de variables progressive par ajouts successifs (forward stepwise) fournit un ordre optimal pour ajouter les variables à l'ensemble de prédicteurs. Pour décider où arrêter, vous pouvez tracer les courbes d'AUC pour l'entraînement et le 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 dans le modèle.
Dans cet exercice, vous apprendrez à 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 peut être utilisée comme suit :
auc_train, auc_test = auc_train_test(variables, target, train, test)
où variables est l'ensemble de 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 tables de base d'entraînement et de test.
Les variables ordonnées selon la procédure progressive par ajouts successifs sont fournies 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
Cette activité fait partie du cours
Introduction à l'analytique prédictive en Python
Instructions de l’exercice
- 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 ce code d’exemple.
# 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()