开始使用免费开始使用

使用 KMeans 对股票进行聚类

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

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

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

KMeansmake_pipeline 已为您导入。

本练习是课程的一部分

Python 中的无监督学习

查看课程

练习说明

  • sklearn.preprocessing 导入 Normalizer
  • 创建一个名为 normalizerNormalizer 实例。
  • 创建一个名为 kmeansKMeans 实例,簇数为 10
  • 使用 make_pipeline() 创建一个名为 pipeline 的管道,将 normalizerkmeans 串联。
  • 将管道拟合到数组 movements

交互式实操练习

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

# Import Normalizer
____

# Create a normalizer: normalizer
normalizer = ____

# Create a KMeans model with 10 clusters: kmeans
kmeans = ____

# Make a pipeline chaining normalizer and kmeans: pipeline
pipeline = ____

# Fit pipeline to the daily price movements
____
编辑并运行代码