Wizualizacja wydajności modelu klasyfikacji
W tym ćwiczeniu rozwiążesz problem klasyfikacji, w którym kolumna "popularity" w zbiorze danych music_df została przekształcona do wartości binarnych: 1 oznacza popularność większą lub równą medianie kolumny "popularity", a 0 oznacza popularność poniżej mediany.
Twoim zadaniem jest zbudowanie i zwizualizowanie wyników trzech różnych modeli klasyfikujących, czy dana piosenka jest popularna.
Dane zostały podzielone, przeskalowane i wczytane jako X_train_scaled, X_test_scaled, y_train i y_test. Zaimportowano również KNeighborsClassifier, DecisionTreeClassifier i LogisticRegression.
To ćwiczenie jest częścią kursu
Nadzorowane uczenie maszynowe z scikit-learn
Instrukcje do ćwiczenia
- Utwórz słownik z kluczami
"Logistic Regression","KNN"i"Decision Tree Classifier", przypisując jako wartości wywołania odpowiednich modeli. - Przeiteruj po wartościach słownika
models. - Utwórz obiekt
KFoldwykonujący 6 podziałów, ustawiającshufflenaTrueirandom_statena12. - Przeprowadź walidację krzyżową, używając modelu, przeskalowanych cech treningowych, docelowego zbioru treningowego i ustawiając
cvnakf.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()