宝可梦目击:层次聚类
我们将继续上一练习中对传说宝可梦目击地点的调查。回想一下,上一题的散点图中,您发现有两个目击点密集的区域。这意味着这些点大致可分为两个簇。本练习中,您将使用层次聚类将这些目击记录分成两个聚类。
"x" 和 "y" 是目击位置的 X、Y 坐标列,存放在 pandas 的 DataFrame 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()