Jupyter Notebook 中的 LDA 可视化

LDA visualisation in Jupyter notebook

在我的 jupyter notebook 中,如下使用 pyLDAvis 包时,

pyLDAvis.enable_notebook()

lda_tfidf = LatentDirichletAllocation(n_components=20, random_state=0)
lda_tfidf.fit(dtm_tfidf)
pyLDAvis.sklearn.prepare(lda_tf, dtm_tf, tf_vectorizer)

生成的图自动调整我的 jupyter notebook 的宽度,使所有其他单元格与边框重叠 - 我试过:

from IPython.core.display import display, HTML
display(HTML("<style>.container { width:95% !important; }</style>"))

没有运气,还有

# Using gensim[![enter image description here][1]][1]
v = pyLDAvis.gensim.prepare(lda_model, doc_term_matrix, dictionary)
pyLDAvis.display(v)

花了一些时间搜索文档....似乎没有任何关于这就是文档,之前是否有人深入研究过代码并能指出正确的方向?

似乎没有任何其他帖子,但已检查版本等...没有运气

重叠图像如下所示:


:

您尝试过使用 %matplotlib inline 吗?我有一个类似的代码,显示效果很好。这是我的例子:

%matplotlib inline
vis = pyLDAvis.gensim.prepare(topic_model=lda_model, corpus=corpus, dictionary=dictionary_LDA)
pyLDAvis.enable_notebook()
pyLDAvis.display(vis)

编辑:我的 Jupyter Notebook 确实遇到了同样的问题(重叠是针对输出区域的)。 我设法通过在调用 pyLDAvis.display:

之前更改样式来获得更好的显示效果
from IPython.core.display import display, HTML
display(HTML("<style>.container { max-width:100% !important; }</style>"))
display(HTML("<style>.output_result { max-width:100% !important; }</style>"))
display(HTML("<style>.output_area { max-width:100% !important; }</style>"))
display(HTML("<style>.input_area { max-width:100% !important; }</style>"))

专门更改 output_area 和 input_area 并设置 max-width(不是宽度)