Observations de Pokémon : clustering hiérarchique
Nous allons poursuivre l’enquête sur les observations de Pokémon légendaires de 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 signifie que les points semblent se séparer en deux groupes. Dans cet exercice, vous allez former deux clusters d’observations à l’aide d’un clustering hiérarchique.
'x' et 'y' sont des colonnes contenant les coordonnées X et Y des lieux d’observation, stockées dans un DataFrame pandas, df. Vous avez à disposition : matplotlib.pyplot sous plt, seaborn sous sns, et pandas sous pd.
Cet exercice fait partie du cours
Analyse de clusters en Python
Instructions
- Importez les bibliothèques
linkageetfcluster. - Utilisez la fonction
linkage()pour calculer les distances avec la méthode ward. - Générez les étiquettes de cluster pour chaque point de données avec deux clusters en utilisant la fonction
fcluster(). - Tracez les points avec seaborn et attribuez une couleur différente à chaque cluster.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()