株式市場の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()を使ってすでに書かれているので、あとは実行してビジュアルを確認しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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()