始める無料で始める

株式市場のt-SNEマップ

個々のデータにラベルがある場合、t-SNEを使用すると優れたビジュアルが得られます。この演習では、企業の株価データに t-SNEを適用します。結果として得られるt-SNEの特徴量を企業名でラベル付けして散布図にすると、株式市場のマップが出来上がります。各企業の株価変動は配列normalized_movementsとして用意されています(あらかじめ正規化済みです)。リストcompaniesには各企業の名前が格納されています。PyPlot(plt)はすでにインポート済みです。

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

Pythonで学ぶ教師なし学習

コースを見る

演習の手順

  • sklearn.manifoldからTSNEをインポートしてください。
  • learning_rate=50を指定してmodelという名前のTSNEインスタンスを作成してください。
  • model.fit_transform()メソッドをnormalized_movementsに適用してください。結果をtsne_featuresに代入します。
  • tsne_featuresの列0と列1を選択してください。
  • t-SNEの特徴量xsysを使って散布図を作成してください。追加のキーワード引数としてalpha=0.5を指定してください。
  • 各点に企業名をラベル付けするコードはplt.annotate()を使ってすでに書かれているので、あとは実行してビジュアルを確認しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import TSNE
____

# Create a TSNE instance: model
model = ____

# Apply fit_transform to normalized_movements: tsne_features
tsne_features = ____

# Select the 0th feature: xs
xs = ____

# Select the 1th feature: ys
ys = tsne_features[:,1]

# Scatter plot
____

# Annotate the points
for x, y, company in zip(xs, ys, companies):
    plt.annotate(company, (x, y), fontsize=5, alpha=0.75)
plt.show()
コードを編集して実行