Plotlyを使用してipython notebookで動く3Dの可視化をする方法をメモ.
plotlyに渡す時は、pandaのdata frame形式にしておく必要があるので、
その部分さえ対応すればすぐできる

そもそもはGoogle Colabratoryでmatplotlibでplotすると3Dが触れないのが気になって、対応方法を探していたら、たどり着いた.

numpyの3次元のデータと1次元のラベルを持っているなら、下記のようにすればOK. x_testは(1000, 3 )のnumpy array配列, y_testは(1000,)のnumpy array配列.

全体で書いたコードは以下のような感じ.

MNISTのデータを3次元にt-SNEで次元圧縮して触れる3D表示

以下では

  1. MNISTのデータを読み込んで整形. 最初の1000個までを使用.
  2. t-SNEを使って784次元を3次元まで次元圧縮
  3. 最後にそれらを使って3D表示.(グリグリ触れます)