1. Learn
  2. /
  3. Courses
  4. /
  5. Pythonで学ぶ教師なし学習

Connected

Exercise

株式の階層構造

第1章では、株価の動きに基づいて企業を k-means クラスタリングで分類しました。今回は、企業に対して階層的クラスタリングを行います。行が企業に対応する NumPy 配列 movements(価格の動き)と、企業名のリスト companies が与えられています。SciPy の階層的クラスタリングは sklearn のパイプラインには組み込めないため、Normalizer ではなく sklearn.preprocessing の normalize() 関数を使用します。

scipy.cluster.hierarchy からはすでに linkage と dendrogram がインポートされており、PyPlot も plt としてインポート済みです。

Instructions

100 XP
  • sklearn.preprocessing から normalize をインポートします。
  • movements に対して normalize() 関数を用いて、各銘柄の価格の動きを再スケーリングします。
  • normalized_movements に 'complete' リンケージで linkage() 関数を適用し、階層的クラスタリングを計算します。結果を mergings に代入します。
  • 企業名のリスト companies を labels として用い、階層的クラスタリングのデンドログラムを描画します。さらに、前の演習と同様に leaf_rotation=90 と leaf_font_size=6 のキーワード引数を指定します。