株式市場の 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 の特徴量
xsとysの散布図を作成します。追加のキーワード引数として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()