我如何解释scikit learn的LDA方法的转换结果?

时间:2017-07-03 11:33:06

标签: python machine-learning scikit-learn

我正在使用Scikit-Learn的LatentDirichletAllocation模型。 X是包含5000个特征(100 x 5000)的100个文档的矩阵。我运行了以下代码:

from sklearn.decomposition import LatentDirichletAllocation
lda = LatentDirichletAllocation(n_topics = 5)
X_new = lda.fit_transform(X)

X_new现在是100 X 5矩阵,应该是每个文档的主题分布。但是,我不确定如何解释实际值。每个数组不总和为100,因此它本身不是分布。例如,前两个文档的数组是:

[66404.6, 0.2, 2004.7, 0.2, 0.2]
[0.2,47.3,0.2,14.0,02]

如何解释/规范化这些数字?

1 个答案:

答案 0 :(得分:1)

我认为这个问题更适合这里:https://datascience.stackexchange.com

但是,既然你在这里问过它,那么每个细胞都是"多少"本文档适合n个主题之一(在您的情况下,5)。 它没有标准化,因为每个文档都是针对每个主题单独测量的(因此,理论上所有主题都可以得到0分)。如果你想对它进行标准化,你当然可以,只需标准化l1中的每一行 - 这将显示文档针对所有主题的分布。