Python 3.x 无法查看图表
我试图用pyldavis用python可视化地描述我的主题。但是,我无法查看图表。是我们必须在浏览器中查看图形,还是执行时会弹出图形。下面是我的代码Python 3.x 无法查看图表,python-3.x,lda,topic-modeling,Python 3.x,Lda,Topic Modeling,我试图用pyldavis用python可视化地描述我的主题。但是,我无法查看图表。是我们必须在浏览器中查看图形,还是执行时会弹出图形。下面是我的代码 import pyLDAvis import pyLDAvis.gensim as gensimvis print('Pyldavis ....') vis_data = gensimvis.prepare(ldamodel, doc_term_matrix, dictionary) pyLDAvis.display(vis_data) 执行上述
import pyLDAvis
import pyLDAvis.gensim as gensimvis
print('Pyldavis ....')
vis_data = gensimvis.prepare(ldamodel, doc_term_matrix, dictionary)
pyLDAvis.display(vis_data)
执行上述命令时,程序持续处于执行模式。我应该在哪里查看图表?或者它将被存放在哪里?它是否仅与Ipython笔记本集成?请指导我完成此操作。
我的python版本是3.5。
我现在面临同样的问题。 编辑: 我的脚本如下所示:
第一部分:import pyLDAvis
import pyLDAvis.sklearn
print('start script')
tf_vectorizer = CountVectorizer(strip_accents = 'unicode',stop_words = 'english',lowercase = True,token_pattern = r'\b[a-zA-Z]{3,}\b',max_df = 0.5,min_df = 10)
dtm_tf = tf_vectorizer.fit_transform(docs_raw)
lda_tf = LatentDirichletAllocation(n_topics=20, learning_method='online')
print('fit')
lda_tf.fit(dtm_tf)
第二部分:
print('prepare')
vis_data = pyLDAvis.sklearn.prepare(lda_tf, dtm_tf, tf_vectorizer)
print('display')
pyLDAvis.display(vis_data)
问题出在“vis_data=(…)”行。如果我运行脚本,它将打印“prepare”,然后继续运行,而不打印任何其他内容(因此它永远不会到达“print('display')行)
有趣的是,当我只运行整个脚本时,它会卡在那一行上,但当我运行第一部分时,到我的控制台执行纯单行“vis_data=pyLDAvis.sklearn.prepare(lda_tf,dtm_tf,tf_vectorier)”时,它会在几秒钟内执行
至于图形,我将其保存为html(“simple”)并使用html文件查看图形。我遇到了相同的问题(我使用PyCharm作为IDE)。问题是pyLDAvize是为Ipython开发的(参见文档,第3页)。 我的解决方案:
- 对lda_tf、dtm_tf、tf_矢量器(例如,pyLDAviz_dict)进行dict,并将dict转储到文件(例如mydata_pyLDAviz.pkl)
- 将pkl文件读入笔记本(我确实从pyLDAviz那里得到了一些折旧信息,但这对最终结果没有影响)
- 在笔记本上玩派尔达维兹
- 如果您对该视图满意,请将其转储到html中
pyLDAvis.display(可视数据)
这将对您有用:
pyLDAvis.show(可视数据)
如果收到模块错误pyLDA.gensim
,请尝试此错误:
import pyLdAvis.gensim_models
由于新版本的更新,您会收到错误。很抱歉,我编辑了这篇文章,希望它现在更清晰?我想是的…;-)