Classificatiemodelprestaties visualiseren
In deze oefening los je een classificatieprobleem op waarbij de kolom "popularity" in de gegevensset music_df is omgezet naar binaire waarden: 1 betekent populairder dan of gelijk aan de mediaan van de kolom "popularity", en 0 betekent minder populair dan de mediaan.
Jouw taak is om drie verschillende modellen te bouwen en de resultaten te visualiseren om te classificeren of een nummer populair is of niet.
De data is voor je opgesplitst, geschaald en vooraf geladen als X_train_scaled, X_test_scaled, y_train en y_test. Daarnaast zijn KNeighborsClassifier, DecisionTreeClassifier en LogisticRegression al geïmporteerd.
Deze oefening maakt deel uit van de cursus
Supervised Learning met scikit-learn
Oefeninstructies
- Maak een dictionary met
"Logistic Regression","KNN"en"Decision Tree Classifier", waarbij de values van de dictionary een aanroep van elk model zijn. - Loop door de values in
models. - Instantier een
KFold-object om 6 splits te maken, metshuffleopTrueenrandom_stateop12. - Voer cross-validatie uit met het model, de geschaalde trainingsfeatures, de doeltrainingsset, en stel
cvgelijk aankf.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()