层次聚类:ward 方法
是时候参加 Comic-Con 了!Comic-Con 是在全球主要城市举办的年度漫画主题大会。您掌握了去年的客流数据,即在任一时刻会场内的人数。您希望确定摊位位置以最大化销售。请使用 ward 方法进行层次聚类,找出该区域内的两个吸引点。
数据保存在 pandas 的 DataFrame comic_con 中。x_scaled 和 y_scaled 是某一时刻人群位置的标准化 X、Y 坐标对应的列名。
本练习是课程的一部分
Python 中的聚类分析
练习说明
- 从
scipy.cluster.hierarchy导入fcluster和linkage。 - 在
linkage()函数中使用ward方法。 - 通过对
distance_matrix形成 2 个扁平簇来分配簇标签。 - 运行绘图代码以查看结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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()