使用 KMeans 对股票进行聚类
在本练习中,您将使用公司的每日股价变动(即每个交易日收盘价与开盘价的美元差额)来对公司进行聚类。已为您提供一个来自 2010 至 2015 年(来源:Yahoo! Finance)的 NumPy 数组 movements,其中每一行对应一家公司的数据,每一列对应一个交易日。
有些股票价格更高。为此,请在管道开头加入一个 Normalizer。在开始聚类之前,Normalizer 会分别将每家公司的股价变换到相对尺度。
请注意,Normalizer() 不同于您在上一个练习中使用的 StandardScaler()。StandardScaler() 会通过去均值并缩放到单位方差来标准化"特征"(例如上一个练习中鱼类数据的各个特征),而 Normalizer() 会对"每个样本"——这里指每家公司的股价——进行独立的缩放。
KMeans 和 make_pipeline 已为您导入。
本练习是课程的一部分
Python 中的无监督学习
练习说明
- 从
sklearn.preprocessing导入Normalizer。 - 创建一个名为
normalizer的Normalizer实例。 - 创建一个名为
kmeans的KMeans实例,簇数为10。 - 使用
make_pipeline()创建一个名为pipeline的管道,将normalizer与kmeans串联。 - 将管道拟合到数组
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
____