Vizualizarea performanței modelelor de clasificare
În acest exercițiu, vei rezolva o problemă de clasificare în care coloana "popularity" din setul de date music_df a fost convertită la valori binare: 1 reprezintă o popularitate mai mare sau egală cu mediana coloanei "popularity", iar 0 indică o popularitate sub mediană.
Sarcina ta este să construiești și să vizualizezi rezultatele a trei modele diferite pentru a clasifica dacă o melodie este populară sau nu.
Datele au fost împărțite, scalate și preîncărcate pentru tine ca X_train_scaled, X_test_scaled, y_train și y_test. De asemenea, KNeighborsClassifier, DecisionTreeClassifier și LogisticRegression au fost deja importate.
Acest exercițiu face parte din cursul
Învățare supravegheată cu scikit-learn
Instrucțiuni pentru exercițiu
- Creează un dicționar cu cheile
"Logistic Regression","KNN"și"Decision Tree Classifier", setând valorile dicționarului la câte o instanță a fiecărui model. - Iterează prin valorile din
models. - Instanțiază un obiect
KFoldpentru a efectua 6 împărțiri, setândshufflelaTrueșirandom_statela12. - Efectuează validarea încrucișată folosind modelul, caracteristicile de antrenament scalate, setul țintă de antrenament și setând
cvegal cukf.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()