Sélectionner la prochaine meilleure variable
La méthode de sélection de variables pas à pas en avant commence avec un ensemble vide de variables et avance par étapes, en ajoutant à chaque étape la prochaine meilleure variable. Pour vous aider à l’implémenter, deux fonctions pratiques ont été préparées.
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 ajouter à l’étape suivante à la liste de variables.
Dans cet exercice, vous allez expérimenter ces fonctions pour mieux comprendre leur rôle. Vous calculerez l’AUC d’un ensemble de variables donné, identifierez la variable à ajouter ensuite et vérifierez que cela conduit bien à une AUC optimale.
Cet exercice fait partie du cours
Introduction à l’analytique prédictive en Python
Instructions
- 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. Calculez quelle variable doit ê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 prochains prédicteurs candidats. Le premier argument de la fonctionnext_bestest une liste des variables actuelles, tandis que le second 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 cet exemple de code.
# 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))