开始使用免费开始使用

股票的层次结构

在第 1 章,您使用 k-means 聚类根据股票价格变动对公司进行了聚类。现在,您将对这些公司执行层次聚类。已提供一个 NumPy 数组 movements(价格变动),其中每一行对应一家公司的数据,以及一个公司名称列表 companies。由于 SciPy 的层次聚类无法整合进 sklearn 的 pipeline,因此您需要使用 sklearn.preprocessing 中的 normalize() 函数,而不是 Normalizer

linkagedendrogram 已经从 scipy.cluster.hierarchy 导入,PyPlot 已以 plt 的名称导入。

本练习是课程的一部分

Python 中的无监督学习

查看课程

练习说明

  • sklearn.preprocessing 导入 normalize
  • movements 使用 normalize() 函数,为每只股票重新缩放价格变动。
  • normalized_movements 调用 linkage() 函数,并使用 'complete' 连接方式,计算层次聚类。将结果赋值给 mergings
  • 绘制该层次聚类的树状图,使用公司名称列表 companies 作为 labels。此外,像在上一个练习中一样,指定关键字参数 leaf_rotation=90leaf_font_size=6

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Import normalize
____

# Normalize the movements: normalized_movements
normalized_movements = ____

# Calculate the linkage: mergings
mergings = ____

# Plot the dendrogram
____
plt.show()
编辑并运行代码