Avvistamenti di Pokémon: clustering gerarchico
Continuiamo l’indagine sugli avvistamenti di Pokémon leggendari del precedente esercizio. Ricorda che, nello scatter plot dell’esercizio precedente, hai individuato due aree con alta densità di avvistamenti. Questo suggerisce che i punti si separano in due cluster. In questo esercizio, formerai due cluster degli avvistamenti usando il clustering gerarchico.
'x' e 'y' sono colonne con le coordinate X e Y delle posizioni degli avvistamenti, memorizzate in un DataFrame di pandas, df. Hai a disposizione: matplotlib.pyplot come plt, seaborn come sns e pandas come pd.
Questo esercizio fa parte del corso
Analisi di cluster in Python
Istruzioni dell'esercizio
- Importa le librerie
linkageefcluster. - Usa la funzione
linkage()per calcolare le distanze con il metodo ward. - Genera le etichette di cluster per ogni punto dati in due cluster usando la funzione
fcluster(). - Traccia i punti con seaborn e assegna un colore diverso a ciascun cluster.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()