Évaluer un modèle sur les ensembles d'apprentissage et de test
La fonction auc_train_test calcule l'AUC d'un modèle entraîné sur un ensemble train et évalué sur un ensemble test :
auc_train, auc_test = auc_train_test(variables, target, train, test)
où variables est une liste des noms des variables utilisées dans le modèle.
Dans cet exercice, vous allez utiliser cette fonction et vérifier si les AUC d'apprentissage et de test sont similaires.
Cette activité fait partie du cours
Introduction à l'analytique prédictive en Python
Instructions de l’exercice
- Le
basetableest chargé. Partitionnez le basetable de façon à ce que l'ensemble d'apprentissage contienne 70 % des données et assurez-vous que les ensembles d'apprentissage et de test ont la même incidence de la variable cible. - Calculez les AUC d'apprentissage et de test du modèle en utilisant
"age"et"gender_F"comme prédicteurs avec la fonctionauc_train_test.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Load the partitioning module
from sklearn.model_selection import train_test_split
# Create DataFrames with variables and target
X = basetable.drop('target', 1)
y = basetable["target"]
# Carry out 70-30 partititioning with stratification
X_train, X_test, y_train, y_test = ____(X, y, test_size = ____, stratify = ____)
# Create the final train and test basetables
train = pd.concat([X_train, y_train], axis=1)
test = pd.concat([X_test, y_test], axis=1)
# Apply the auc_train_test function
auc_train, auc_test = ____([____, ____], ["target"], ____, ____)
print(round(auc_train,2))
print(round(auc_test,2))