Avistamientos de Pokémon: agrupación jerárquica
Vamos a continuar la investigación sobre los avistamientos de Pokémon legendarios del ejercicio anterior. Recuerda que en el diagrama de dispersión del ejercicio anterior, identificaste dos zonas donde los avistamientos de Pokémon eran densos. Esto significa que los puntos parecen separarse en dos grupos. En este ejercicio, formarás dos conglomerados de los avistamientos utilizando la agrupación jerárquica.
'x'
y 'y'
son columnas de coordenadas X e Y de las ubicaciones de los avistamientos, almacenadas en un DataFrame de pandas, df
. Se pueden utilizar: matplotlib.pyplot
como plt
, seaborn
como sns
, y pandas
como pd
.
Este ejercicio forma parte del curso
Análisis de conglomerados en Python
Instrucciones del ejercicio
- Importa las bibliotecas
linkage
yfcluster
. - Utiliza la función
linkage()
para calcular distancias por el método de Ward. - Genera etiquetas de conglomerados para cada punto de datos con dos conglomerados utilizando la función
fcluster()
. - Traza los puntos con seaborn y asigna un color diferente a cada conglomerado.
Ejercicio interactivo práctico
Prueba este ejercicio completando 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()