Zacznij terazZacznij za darmo

Obserwacje Pokémonów: klastrowanie hierarchiczne

Kontynuujemy analizę obserwacji legendarnych Pokémonów z poprzedniego ćwiczenia. Przypomnij sobie wykres punktowy z poprzedniego ćwiczenia – udało się na nim zidentyfikować dwa obszary o dużym zagęszczeniu obserwacji. Sugeruje to, że punkty można podzielić na dwa klastry. W tym ćwiczeniu wyznaczysz dwa klastry obserwacji przy użyciu klastrowania hierarchicznego.

'x' i 'y' to kolumny ze współrzędnymi X i Y lokalizacji obserwacji, przechowywane w DataFrame o nazwie df. Do dyspozycji masz: matplotlib.pyplot jako plt, seaborn jako sns oraz pandas jako pd.

To ćwiczenie jest częścią kursu

Analiza skupień w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj biblioteki linkage i fcluster.
  • Użyj funkcji linkage(), aby obliczyć odległości metodą ward.
  • Wygeneruj etykiety klastrów dla każdego punktu danych, tworząc dwa klastry za pomocą funkcji fcluster().
  • Narysuj punkty przy użyciu seaborn i przypisz inny kolor każdemu klastrowi.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod