Observations de Pokémon : regroupement hiérarchique
Nous poursuivons l'enquête sur les observations de Pokémon légendaires amorcée à l'exercice précédent. Rappelez-vous que, dans le nuage de points de l'exercice précédent, vous avez repéré deux zones où les observations de Pokémon étaient denses. Cela indique que les points semblent se séparer en deux grappes. Dans cet exercice, vous allez former deux grappes d'observations à l'aide d'un regroupement hiérarchique.
'x' et 'y' sont les colonnes des coordonnées X et Y des lieux d'observation, stockées dans un DataFrame pandas, df. Vous avez à votre disposition : matplotlib.pyplot sous le nom plt, seaborn sous le nom sns, et pandas sous le nom pd.
Cette activité fait partie du cours
Analyse de grappes en Python
Instructions de l’exercice
- Importez les bibliothèques
linkageetfcluster. - Utilisez la fonction
linkage()pour calculer les distances avec la méthode ward. - Générez des étiquettes de grappe pour chaque point de données en deux grappes à l'aide de la fonction
fcluster(). - Tracez les points avec seaborn et attribuez une couleur différente à chaque grappe.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()