Visualisation des performances des modèles de classification
Dans cet exercice, vous allez résoudre un problème de classification dans lequel la colonne "popularity" de l’ensemble de données music_df a été convertie en valeurs binaires, 1 représentant une popularité supérieure ou égale à la médiane pour la colonne "popularity", et 0 indiquant une popularité inférieure à la médiane.
Votre tâche consiste à construire et à visualiser les résultats de trois modèles différents permettant de déterminer si une chanson est populaire ou non.
Les données ont été divisées, mises à l’échelle et préchargées pour vous sous X_train_scaled, X_test_scaled, y_train et y_test. En outre, KNeighborsClassifier, DecisionTreeClassifier et LogisticRegression ont été importés.
Cet exercice fait partie du cours
Apprentissage supervisé avec scikit-learn
Instructions
- Créez un dictionnaire de
"Logistic Regression","KNN"et"Decision Tree Classifier", en fixant les valeurs du dictionnaire à un appel de chaque modèle. - Parcourez en boucle les valeurs de
models. - Instanciez un objet
KFoldpour effectuer 6 divisions, en définissantshufflesurTrueetrandom_statesur12. - Effectuez une validation croisée en utilisant le modèle, les caractéristiques d'apprentissage mises à l'échelle, l'ensemble d'apprentissage cible et en définissant
cvsurkf.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()