Наблюдения покемонов: иерархическая кластеризация
Продолжим расследование наблюдений легендарных покемонов из предыдущего упражнения. Напомним, что на диаграмме рассеяния из предыдущего упражнения вы обнаружили две области с высокой плотностью наблюдений. Это означает, что точки разделяются на два кластера. В данном упражнении вы сформируете два кластера наблюдений с помощью иерархической кластеризации.
'x' и 'y' — столбцы X- и Y-координат мест наблюдений, хранящихся в DataFrame df. Для выполнения задания доступны: matplotlib.pyplot как plt, seaborn как sns и pandas как pd.
Это упражнение является частью курса
Кластерный анализ на Python
Инструкции к упражнению
- Импортируйте библиотеки
linkageиfcluster. - Используйте функцию
linkage()для вычисления расстояний методом Уорда. - С помощью функции
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()