K平均法を使った株価のクラスタリング
この演習では、各企業の株価の日々の変動(つまり、各取引日における終値と始値のドル差)を使って企業をクラスタリングします。Yahoo! Finance から取得した、2010年から2015年までの日次株価変動を表すNumPy配列movementsが用意されています。各行が1つの企業、各列が1つの取引日に対応しています。
株式の中には他より高価なものもあります。この違いを考慮するため、パイプラインの最初にNormalizerを追加します。Nomalizerは、クラスタリングを始める前に、各企業の株価を同じスケールへと変換します。
Normalizer()は、前の演習で使用したStandardScaler()とは異なる点に注意してください。StandardScaler()は前の演習で扱った魚のデータのような特徴量を、平均を除去し分散を1にそろえることで標準化します。一方Normalizer()は、各サンプル(ここでは各企業の株価)を、他のサンプルから独立してスケール変換します。
KMeansとmake_pipelineはすでにインポート済みです。
この演習はコースの一部です
Pythonで学ぶ教師なし学習
演習の手順
sklearn.preprocessingからNormalizerをインポートしてください。Normalizerのインスタンスを作成し、normalizerという名前を付けてください。- クラスタ数を
10に指定したKMeansのインスタンスを作成し、kmeansという名前を付けてください。 make_pipeline()を使って、normalizerとkmeansを連結したパイプラインを作成し、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
____