1. Learn
  2. /
  3. 课程
  4. /
  5. Python 中的无监督学习

Connected

道练习

股票的层次结构

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

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

说明

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