前回に引き続き、pyLDAvisを用いたトピックモデルの可視化です。
今回は gensim 編です。
gensim で学習したトピックモデルの可視化の使い方はこちらの notebook で紹介されています。
scikit-learn と違うのは、
インポートするモジュールが、pyLDAvis.gensim
に代わり、
呼び出すメソッドがpyLDAvis.gensim.prepare
になる点だけですね。
メソッドに渡すのは、 学習したモデル、コーパスのデータ(BOW形式)、コーパス作成に使った辞書 である点も同じです。
以前書いた、
gensimでトピックモデル(LDA)をやってみる
のコードで学習したモデルでやってみましょう。
(トピック数だけ20に増やして実行しました。)
import pyLDAvis
import pyLDAvis.gensim
pyLDAvis.enable_notebook()
pyLDAvis.gensim.prepare(lda, corpus, dictionary)
これで、sickit-learnの時と同様に結果を得ることができます。
これだけだと何も代わり映えしないので、せっかくなので、次元削減のメソッドを変更して結果をそれぞれみてみましょう。
次の3行のコードを実行した結果を1枚の画像にまとめたのが次の出力です。
pyLDAvis.gensim.prepare(lda, corpus, dictionary, mds="pcoa") # デフォルト
pyLDAvis.gensim.prepare(lda, corpus, dictionary, mds="mmds")
pyLDAvis.gensim.prepare(lda, corpus, dictionary, mds="tsne")
次元削減のアルゴリズムの特徴が出ていますね。
これはスクリーンショットなので動かせませんが、実際にjupyter notebookで表示したりHTMLに保存したものはグリグリ動かしてみることができるので是非試してみてください。