Klasteryzacja hierarchiczna: metoda Warda
Czas na Comic-Con! To coroczna konwencja poświęcona komiksom, organizowana w największych miastach świata. Masz dane o frekwencji z zeszłego roku – czyli o liczbie osób przebywających na terenie konwencji w danym momencie. Chcesz wybrać lokalizację swojego stoiska tak, aby zmaksymalizować sprzedaż. Używając metody Warda, zastosuj klasteryzację hierarchiczną, aby znaleźć dwa główne punkty przyciągania odwiedzających.
Dane są przechowywane w DataFrame biblioteki pandas o nazwie comic_con. x_scaled i y_scaled to nazwy kolumn zawierających znormalizowane współrzędne X i Y osób w danym momencie.
To ćwiczenie jest częścią kursu
Analiza skupień w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
fclusterilinkagezscipy.cluster.hierarchy. - Użyj metody
wardw funkcjilinkage(). - Przypisz etykiety klastrów, tworząc 2 płaskie klastry na podstawie
distance_matrix. - Uruchom kod tworzący wykres, aby zobaczyć wyniki.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import the fcluster and linkage functions
from scipy.cluster.hierarchy import ____, ____
# Use the linkage() function
distance_matrix = ____(comic_con[['x_scaled', 'y_scaled']], ____ = ____, metric = 'euclidean')
# Assign cluster labels
comic_con['cluster_labels'] = ____(____, ____, criterion='maxclust')
# Plot clusters
sns.scatterplot(x='x_scaled', y='y_scaled',
hue='cluster_labels', data = comic_con)
plt.show()