Evaluación de la agrupación de granos
En el ejercicio anterior, observaste en el gráfico de inercia que 3 es un buen número de clústeres para los datos de los granos. De hecho, las muestras de grano proceden de una mezcla de 3 variedades de grano diferentes: "Kama", "Rosa" y "Canadian". En este ejercicio, agrupa las muestras de grano en tres clústeres, y compara los clústeres con las variedades de grano mediante una tabulación cruzada.
Tienes la matriz samples
de muestras de grano, y una lista varieties
que da la variedad de grano de cada muestra. Pandas (pd
) y KMeans
ya se han importado para ti.
Este ejercicio forma parte del curso
Aprendizaje no supervisado en Python
Instrucciones de ejercicio
- Crea un modelo
KMeans
llamadomodel
con clústeres3
. - Utiliza el método
.fit_predict()
demodel
para ajustarlo asamples
y obtener las etiquetas de los clústeres. Utilizar.fit_predict()
es lo mismo que utilizar.fit()
seguido de.predict()
. - Crea un DataFrame
df
con dos columnas llamadas'labels'
y'varieties'
, utilizandolabels
yvarieties
, respectivamente, para los valores de las columnas. Esto se te proporciona hecho. - Utiliza la función
pd.crosstab()
endf['labels']
ydf['varieties']
para contar el número de veces que cada variedad de grano coincide con cada etiqueta de clúster. Asigna el resultado act
. - ¡Pulsa enviar para ver la tabulación cruzada!
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Create a KMeans model with 3 clusters: model
model = ____
# Use fit_predict to fit model and obtain cluster labels: labels
labels = ____
# Create a DataFrame with labels and varieties as columns: df
df = pd.DataFrame({'labels': labels, 'varieties': varieties})
# Create crosstab: ct
ct = ____
# Display ct
print(ct)