Visualizar el rendimiento del modelo de clasificación

En este ejercicio, resolverás un problema de clasificación en el que la columna "popularity" del conjunto de datos music_df se ha convertido en valores binarios, en los que 1 representa la popularidad superior o igual a la mediana de la columna "popularity", y 0 indica la popularidad inferior a la mediana.

Tu tarea consiste en construir y visualizar los resultados de tres modelos diferentes para clasificar si una canción es popular o no.

Los datos se han dividido, escalado y precargado para ti como X_train_scaled, X_test_scaled, y_train, y y_test. Además, se han importado KNeighborsClassifier, DecisionTreeClassifier y LogisticRegression.

Este ejercicio forma parte del curso

Aprendizaje supervisado con scikit-learn

Ver curso

Instrucciones de ejercicio

  • Crea un diccionario de "Logistic Regression", "KNN", y "Decision Tree Classifier", estableciendo los valores del diccionario en una llamada de cada modelo.
  • Recorre los valores de models.
  • Instanciar un objeto KFold para realizar 6 divisiones, estableciendo shuffle en True y random_state en 12.
  • Realiza una validación cruzada utilizando el modelo, las características de entrenamiento escaladas, el conjunto de entrenamiento objetivo y estableciendo cv igual a kf.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

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