Avistamientos de Pokémon: clustering jerárquico
Vamos a continuar la investigación sobre los avistamientos de Pokémon legendarios del ejercicio anterior. Recuerda que en el diagrama de dispersión anterior identificaste dos zonas con alta densidad de avistamientos. Esto significa que los puntos parecen separarse en dos clústeres. En este ejercicio, formarás dos clústeres de los avistamientos usando clustering jerárquico.
'x' y 'y' son columnas con las coordenadas X e Y de las ubicaciones de los avistamientos, almacenadas en un DataFrame de pandas, df. Tienes disponible para usar: matplotlib.pyplot como plt, seaborn como sns y pandas como pd.
Este ejercicio forma parte del curso
Análisis de clústeres en Python
Instrucciones del ejercicio
- Importa las librerías
linkageyfcluster. - Usa la función
linkage()para calcular las distancias con el método ward. - Genera etiquetas de clúster para cada punto de datos con dos clústeres usando la función
fcluster(). - Dibuja los puntos con seaborn y asigna un color distinto a cada clúster.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import linkage and fcluster functions
from scipy.cluster.hierarchy import ____, ____
# Use the linkage() function to compute distance
Z = ____(____, 'ward')
# Generate cluster labels
df['cluster_labels'] = ____(____, ____, criterion='maxclust')
# Plot the points with seaborn
sns.scatterplot(x=____, y=____, hue=____, data=df)
plt.show()