Visualiser la performance de modèles de classification
Dans cet exercice, vous allez résoudre un problème de classification où la colonne "popularity" du jeu de données music_df a été convertie en valeurs binaires : 1 représente une popularité supérieure ou égale à la médiane de la colonne "popularity", et 0 indique une popularité inférieure à la médiane.
Votre tâche est de construire trois modèles différents et de visualiser leurs résultats pour déterminer si une chanson est populaire ou non.
Les données ont été séparées, normalisées et préchargées pour vous sous les noms X_train_scaled, X_test_scaled, y_train et y_test. De plus, KNeighborsClassifier, DecisionTreeClassifier et LogisticRegression ont été importés.
Cette activité fait partie du cours
Apprentissage supervisé avec scikit-learn
Instructions de l’exercice
- Créez un dictionnaire de
"Logistic Regression","KNN"et"Decision Tree Classifier", en affectant à chaque clé l'appel au modèle correspondant. - Parcourez les valeurs dans
models. - Instanciez un objet
KFoldpour effectuer 6 divisions, avecshuffleàTrueetrandom_stateà12. - Effectuez la validation croisée en utilisant le modèle, les caractéristiques d'entraînement mises à l'échelle, la cible d'entraînement, et en définissant
cvégal àkf.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create models dictionary
models = {"____": ____(), "____": ____(), "____": ____()}
results = []
# Loop through the models' values
for model in ____.____():
# Instantiate a KFold object
kf = ____(n_splits=____, random_state=____, shuffle=____)
# Perform cross-validation
cv_results = ____(____, ____, ____, cv=____)
results.append(cv_results)
plt.boxplot(results, labels=models.keys())
plt.show()