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

Kurs anzeigen

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 du shuffle auf True und random_state auf 12 setzt.
  • Führe eine Kreuzvalidierung mit dem Modell, den skalierten Trainingsmerkmalen und der Ziel-Trainingsmenge durch und setze cv gleich kf.

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()