通过scikit-learn查找LDA每个主题的文档数量

时间:2016-02-07 11:15:12

标签: scikit-learn lda

我正在跟随scikit-learn LDA示例here,并试图了解我如何(如果可能)表明有多少文档被标记为具有这些主题中的每一个。我一直在研究LDA模型here的文档,但是看不出我能在哪里获得这个数字。有没有人能用scikit-learn做到这一点?

1 个答案:

答案 0 :(得分:3)

LDA为每个文档计算主题概率列表,因此您可能希望将文档的主题解释为该文档概率最高的主题。< / p>

如果dtm是您的文档字词矩阵,lda是您的潜在Dirichlet分配对象,则可以使用transform()函数和pandas探索主题混合:

 
docsVStopics = lda.transform(dtm)
docsVStopics = pd.DataFrame(docsVStopics, columns=["Topic"+str(i+1) for i in range(N_TOPICS)])
print("Created a (%dx%d) document-topic matrix." % (docsVStopics.shape[0], docsVStopics.shape[1]))
docsVStopics.head()

您可以轻松找到每个文档最可能的主题:

most_likely_topics = docsVStopics.idxmax(axis=1)

然后得到计数:

 most_likely_topics.groupby(most_likely_topics).count()