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

Connected

道练习

使用 KMeans 对股票进行聚类

在本练习中,您将使用公司的每日股价变动(即每个交易日收盘价与开盘价的美元差额)来对公司进行聚类。已为您提供一个来自 2010 至 2015 年(来源:Yahoo! Finance)的 NumPy 数组 movements,其中每一行对应一家公司的数据,每一列对应一个交易日。

有些股票价格更高。为此,请在管道开头加入一个 Normalizer。在开始聚类之前,Normalizer 会分别将每家公司的股价变换到相对尺度。

请注意,Normalizer() 不同于您在上一个练习中使用的 StandardScaler()。StandardScaler() 会通过去均值并缩放到单位方差来标准化"特征"(例如上一个练习中鱼类数据的各个特征),而 Normalizer() 会对"每个样本"——这里指每家公司的股价——进行独立的缩放。

KMeans 和 make_pipeline 已为您导入。

说明

100 XP
  • 从 sklearn.preprocessing 导入 Normalizer。
  • 创建一个名为 normalizer 的 Normalizer 实例。
  • 创建一个名为 kmeans 的 KMeans 实例,簇数为 10。
  • 使用 make_pipeline() 创建一个名为 pipeline 的管道,将 normalizer 与 kmeans 串联。
  • 将管道拟合到数组 movements。