Choisir la prochaine meilleure variable
La sélection progressive ascendante des variables commence avec un ensemble vide, puis ajoute à chaque étape la prochaine meilleure variable. Pour mettre en œuvre cette procédure, deux fonctions pratiques ont été préparées pour vous.
La fonction auc calcule, pour un ensemble de variables variables donné, l'AUC du modèle qui utilise cet ensemble comme prédicteurs. La fonction next_best détermine quelle variable devrait être ajoutée à l'étape suivante à la liste des variables.
Dans cet exercice, vous allez expérimenter ces fonctions pour mieux comprendre leur rôle. Vous allez calculer l'AUC d'un ensemble de variables donné, déterminer quelle variable ajouter ensuite et vérifier que cela mène bien à une AUC optimale.
Cette activité fait partie du cours
Introduction à l'analytique prédictive en Python
Instructions de l’exercice
- La fonction
auca été implémentée pour vous. Calculez l'AUC d'un modèle qui utilise"max_gift","mean_gift"et"min_gift"comme prédicteurs. Vous devez transmettre ces variables dans une liste comme premier argument de la fonctionauc. - La fonction
next_besta été implémentée pour vous. Déterminez quelle variable devrait être ajoutée ensuite, étant donné que"max_gift","mean_gift"et"min_gift"sont actuellement dans le modèle, et que"age"et"gender_F"sont les prédicteurs candidats. Le premier argument denext_bestest une liste des variables actuelles, et le deuxième argument est une liste des prédicteurs candidats. - Calculez l'AUC d'un modèle qui utilise
"max_gift","mean_gift","min_gift"et"age"comme prédicteurs. - Calculez l'AUC d'un modèle qui utilise
"max_gift","mean_gift","min_gift"et"gender_F"comme prédicteurs.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Calculate the AUC of a model that uses "max_gift", "mean_gift" and "min_gift" as predictors
auc_current = ____([____, ____, ____], ["target"], basetable)
print(round(auc_current,4))
# Calculate which variable among "age" and "gender_F" should be added to the variables "max_gift", "mean_gift" and "min_gift"
next_variable = ____([____, ____, ____], [____, ____], ["target"], basetable)
print(next_variable)
# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "age" as predictors
auc_current_age = ____([____, ____, ____, ____], ["target"], basetable)
print(round(auc_current_age,4))
# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "gender_F" as predictors
auc_current_gender_F = ____([____], ["target"], basetable)
print(round(auc_current_gender_F,4))