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
KFold
pour effectuer 6 divisions, en définissantshuffle
surTrue
etrandom_state
sur12
. - 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
cv
surkf
.
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()