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
modelsmit einer Schleife. - Instanziiere ein
KFold-Objekt, um 6 Teilmengen (Splits) zu erstellen, und setze dabeishuffleaufTrueundrandom_stateauf12. - Führe eine Kreuzvalidierung mit dem jeweiligen Modell, den skalierten Trainingsmerkmalen und den Zielwerten der Trainingsmenge durch und setze
cvgleichkf.
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()