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 e y_test. Además, se han importado KNeighborsClassifier, DecisionTreeClassifier y LogisticRegression.
Este ejercicio forma parte del curso
Aprendizaje supervisado con scikit-learn
Instrucciones del 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. - Instancia un objeto
KFoldpara realizar 6 divisiones, estableciendoshuffleenTrueyrandom_stateen12. - Realiza una validación cruzada utilizando el modelo, las características de entrenamiento escaladas, el conjunto de entrenamiento objetivo y estableciendo
cvigual akf.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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()