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