Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj fcluster i linkage z scipy.cluster.hierarchy.
  • Użyj metody ward w funkcji linkage().
  • 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()
Edytuj i uruchom kod