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
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, estableciendoshuffle
enTrue
yrandom_state
en12
. - Realiza una validación cruzada utilizando el modelo, las características de entrenamiento escaladas, el conjunto de entrenamiento objetivo y estableciendo
cv
igual akf
.
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()