開始使用免費開始

股票的階層結構

在第 1 章中,你使用 k-means 分群,根據股票價格變動來分群公司。現在你將對這些公司進行階層式分群。你會拿到一個包含價格變動的 NumPy 陣列 movements(列代表公司),以及公司名稱清單 companies。由於 SciPy 的階層式分群無法放進 sklearn 的 pipeline,因此你需要改用 sklearn.preprocessing 中的 normalize() 函式,而不是 Normalizer

linkagedendrogram 已從 scipy.cluster.hierarchy 匯入,且 PyPlot 也已以 plt 名稱匯入。

本練習屬於課程

Unsupervised Learning in Python

檢視課程

練習說明

  • sklearn.preprocessing 匯入 normalize
  • movements 使用 normalize() 函式,為每檔股票的價格變動重新縮放。
  • normalized_movements 套用 linkage(),並使用 'complete' 連結法,以計算階層式分群。將結果指定給 mergings
  • 繪製階層式分群的系統樹(dendrogram),並使用公司名稱清單 companies 作為 labels。另外,和前一個練習一樣,指定關鍵字引數 leaf_rotation=90leaf_font_size=6

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Import normalize
____

# Normalize the movements: normalized_movements
normalized_movements = ____

# Calculate the linkage: mergings
mergings = ____

# Plot the dendrogram
____
plt.show()
編輯並執行程式碼