始める無料で始める

K平均法を使った株価のクラスタリング

この演習では、各企業の株価の日々の変動(つまり、各取引日における終値と始値のドル差)を使って企業をクラスタリングします。Yahoo! Finance から取得した、2010年から2015年までの日次株価変動を表すNumPy配列movementsが用意されています。各行が1つの企業、各列が1つの取引日に対応しています。

株式の中には他より高価なものもあります。この違いを考慮するため、パイプラインの最初にNormalizerを追加します。Nomalizerは、クラスタリングを始める前に、各企業の株価を同じスケールへと変換します。

Normalizer()は、前の演習で使用したStandardScaler()とは異なる点に注意してください。StandardScaler()は前の演習で扱った魚のデータのような特徴量を、平均を除去し分散を1にそろえることで標準化します。一方Normalizer()は、各サンプル(ここでは各企業の株価)を、他のサンプルから独立してスケール変換します。

KMeansmake_pipelineはすでにインポート済みです。

この演習はコースの一部です

Pythonで学ぶ教師なし学習

コースを見る

演習の手順

  • sklearn.preprocessingからNormalizerをインポートしてください。
  • Normalizerのインスタンスを作成し、normalizerという名前を付けてください。
  • クラスタ数を10に指定したKMeansのインスタンスを作成し、kmeansという名前を付けてください。
  • make_pipeline()を使って、normalizerkmeansを連結したパイプラインを作成し、pipelineという名前を付けてください。
  • パイプラインを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
____
コードを編集して実行