Візуалізація продуктивності моделей класифікації
У цій вправі ви розв'язуватимете задачу класифікації, де стовпчик "popularity" у наборі даних music_df перетворено на бінарні значення: 1 означає популярність, більшу або рівну медіані для стовпчика "popularity", а 0 — популярність нижчу за медіану.
Ваше завдання — побудувати та візуалізувати результати трьох різних моделей, щоб визначати, чи є пісня популярною.
Дані вже розбиті, масштабовані та завантажені як X_train_scaled, X_test_scaled, y_train і y_test. Крім того, імпортовано KNeighborsClassifier, DecisionTreeClassifier та LogisticRegression.
Ця вправа є частиною курсу
Кероване навчання зі scikit-learn
Інструкції до вправи
- Створіть словник з
"Logistic Regression","KNN"і"Decision Tree Classifier", задавши значеннями словника виклик кожної з моделей. - Пройдіться циклом за значеннями в
models. - Створіть об'єкт
KFoldдля 6 розбиттів, встановившиshuffleуTrueтаrandom_stateу12. - Виконайте перехресну перевірку, використовуючи модель, масштабовані тренувальні ознаки, тренувальну ціль та встановивши
cvрівнимkf.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()