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
<Kurs>Überwachtes Lernen mit scikit-learn</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()