Visualisierung der Leistung von Klassifikationsmodellen
In dieser Übung löst du ein Klassifikationsproblem, bei dem die Spalte "popularity"
im Datensatz music_df
in binäre Werte umgewandelt wurde, wobei 1
für eine Beliebtheit steht, die größer oder gleich dem Median der Spalte "popularity"
ist, und 0
für eine Beliebtheit, die unter dem Median liegt.
Deine Aufgabe ist es, die Ergebnisse von drei verschiedenen Modellen zu erstellen und zu visualisieren, um zu klassifizieren, ob ein Lied beliebt ist oder nicht.
Die Daten wurden aufgeteilt, skaliert und für dich als X_train_scaled
, X_test_scaled
, y_train
und y_test
vorgeladen. 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"
und setze die Dictionary-Werte auf einen Aufruf des jeweiligen Modells. - Durchlaufe die Werte in
models
mit einer Schleife. - Instanziiere ein
KFold
-Objekt, um 6 Splits durchzuführen, indem dushuffle
aufTrue
undrandom_state
auf12
setzt. - Führe eine Kreuzvalidierung mit dem Modell, den skalierten Trainingsmerkmalen und der Ziel-Trainingsmenge durch und setze
cv
gleichkf
.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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()