IniziaInizia gratis

Visualizzazione delle prestazioni del modello di classificazione

In questo esercizio risolverai un problema di classificazione in cui la colonna "popularity" del dataset music_df è stata convertita in valori binari, con 1 che rappresenta la popolarità superiore o uguale alla mediana della colonna "popularity" e 0 che indica la popolarità inferiore alla mediana.

Il tuo compito è quello di costruire e visualizzare i risultati di tre diversi modelli per classificare se una canzone è popolare o meno.

I dati sono stati suddivisi, scalati e precaricati come X_train_scaled, X_test_scaled, y_train e y_test. Inoltre, sono stati importati KNeighborsClassifier, DecisionTreeClassifier e LogisticRegression.

Questo esercizio fa parte del corso

Apprendimento supervisionato con scikit-learn

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un dizionario di "Logistic Regression", "KNN" e "Decision Tree Classifier", impostando i valori del dizionario su una chiamata di ciascun modello.
  • Esegui il loop dei valori in models.
  • Istanzia un oggetto KFold per eseguire 6 suddivisioni, impostando shuffle su True e random_state su 12.
  • Esegui la convalida incrociata utilizzando il modello, le caratteristiche di addestramento scalate, il set di addestramento target e impostando cv uguale a kf.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice