開始使用免費開始

使用 KMeans 分群股票

在這個練習中,你會使用公司每日股價波動來做分群(也就是每個交易日收盤價與開盤價的美元差)。你會拿到一個 NumPy 陣列 movements,其中包含 2010 到 2015 年(來自 Yahoo! Finance)的每日波動:每一列代表一間公司,每一欄代表一個交易日。

有些股票本來就比較貴。為了考量這點,請在管線的最前面加入 Normalizer。在分群開始前,Normalizer 會分別把每家公司的股價轉換到相對尺度。

注意,Normalizer() 和你在前一個練習用的 StandardScaler() 不同。StandardScaler() 會對「特徵」做標準化(例如前一題魚類資料的各項特徵),方式是移除平均值並縮放到單位變異;而 Normalizer() 則是對「每個樣本」— 在這裡指每家公司的股價 — 各自重新縮放,彼此獨立。

KMeansmake_pipeline 已替你匯入。

本練習屬於課程

Unsupervised Learning in Python

檢視課程

練習說明

  • sklearn.preprocessing 匯入 Normalizer
  • 建立一個名為 normalizerNormalizer 實例。
  • 建立一個名為 kmeans、具有 10 個叢集的 KMeans 實例。
  • 使用 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
____
編輯並執行程式碼