Спостереження за Pokémon: ієрархічне кластеризування
Продовжимо дослідження спостережень за легендарними Pokémon із попередньої вправи. Пам'ятайте: на точковій діаграмі ви визначили дві ділянки з високою щільністю спостережень. Це означає, що точки, схоже, поділяються на два кластери. У цій вправі ви сформуєте два кластери спостережень за допомогою ієрархічного кластеризування.
'x' і 'y' — це стовпці з координатами X та Y місць спостережень, збережені в датафреймі pandas df. Доступні до використання: matplotlib.pyplot як plt, seaborn як sns і pandas як pd.
Ця вправа є частиною курсу
Кластерний аналіз у Python
Інструкції до вправи
- Імпортуйте бібліотеки
linkageіfcluster. - Використайте функцію
linkage()для обчислення відстаней методом ward. - Згенеруйте мітки кластерів для кожної точки даних на два кластери за допомогою функції
fcluster(). - Побудуйте точки за допомогою seaborn і призначте кожному кластеру окремий колір.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()