始める無料で始める

株式市場の 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() を使って用意済みです。そのまま Submit を押して可視化を確認してください!

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

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

# 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()
コードを編集して実行