Jupyter笔记本中的LDA可视化

时间:2020-07-09 20:38:52

标签: python nlp jupyter-notebook data-visualization pyldavis

当在我的jupyter笔记本中使用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笔记本的宽度,使所有其他单元格与寄宿生重叠-我已经尝试过:

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)

花一些时间在搜索文档上。...文档似乎没有什么用,以前有人挖过代码并且可以为我指明正确的方向吗?

似乎没有其他帖子,但是已经检查过版本等...没有运气

重叠的图像如下所示:

overlapimg

1 个答案:

答案 0 :(得分:1)

您是否尝试过内联使用%matplotlib?我有一个类似的代码,显示也很好。这是我的示例:

%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并设置最大宽度(而不是宽度)