PyLDAvis可视化与生成的主题不符

我正在使用PyLDAvis可视化Mallet的LDA结果。

在我可以这样做之前,我需要gensim库的包装器:

model = gensim.models.wrappers.ldamallet.malletmodel2ldamodel(model_list[8])

当我打印找到的主题时,它们的排序从0到10。

但是,当我使用pyLDAvis可视化主题时,主题顺序(0-10)与打印的主题不一致。

示例:

(5,'0.042*"euro" + 0.030*"smartpho" + 0.022*"camera" + 0.020*"display" + '
  '0.018*"model" + 0.016*"picture" + 0.012*"price" + 0.010*"android"')

如您所见,该主题与智能手机有关。

但是,当我使用pyLDAvis可视化模型时,主题5与智能手机无关,而与另一个主题(例如汽车)有关。智能手机主题不再是5,而是主题1。

示例1:

PyLDAvis可视化与生成的主题不符

示例2:

PyLDAvis可视化与生成的主题不符

这是已知错误还是正常现象? 有人可以帮忙吗?

kimle 回答:PyLDAvis可视化与生成的主题不符

默认情况下,pyLDAvis按主题比例对主题进行排序-要保持原始排序顺序,请将sort_topics=False传递给pyLDAvis.prepare()。请注意,pyLDAvis主题仍将关闭一个(即pyLDAvis中的主题1将是gensim中的主题0)。

这里有一个类似的问题:Is there any way to match Gensim LDA output with topics in pyLDAvis graph?

以及pyLDAvis存储库上的一个相关问题:https://github.com/bmabey/pyLDAvis/issues/127

本文链接:https://www.f2er.com/2927211.html

大家都在问