Visualisierung der Leistung von Klassifikationsmodellen
In dieser Übung löst du eine Klassifikationsaufgabe. Dafür wurde die Beliebtheitsspalte, "popularity"
, im Datensatz music_df
in binäre Werte umgewandelt, wobei eine 1
für eine Beliebtheit größer oder gleich dem Median dieser Spalte und eine 0
für eine Beliebtheit kleiner dem Median dieser Spalte steht.
Du sollst nun die Leistung drei verschiedener Modelle berechnen und visualisieren, um Songs als beliebt oder nicht beliebt zu klassifizieren.
Die Daten wurden bereits in X_train_scaled
, X_test_scaled
, y_train
und y_test
zerlegt, skaliert und geladen. Außerdem wurden KNeighborsClassifier
, DecisionTreeClassifier
und LogisticRegression
importiert.
Diese Übung ist Teil des Kurses
Überwachtes Lernen mit scikit-learn
Anleitung zur Übung
- Erstelle ein Dictionary mit
"Logistic Regression"
,"KNN"
und"Decision Tree Classifier"
als Schlüssel und nutze als Werte jeweils einen Aufruf des entsprechenden Modells. - Durchlaufe die Werte in
models
mit einer Schleife. - Instanziiere ein
KFold
-Objekt, um 6 Teilmengen (Splits) zu erstellen, und setze dabeishuffle
aufTrue
undrandom_state
auf12
. - Führe eine Kreuzvalidierung mit dem jeweiligen Modell, den skalierten Trainingsmerkmalen und den Zielwerten der Trainingsmenge durch und setze
cv
gleichkf
.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()