【发布时间】:2015-10-25 03:38:45
【问题描述】:
我在理解 Spark Mlib 中的 LDA 主题模型结果时遇到了一些问题。
据我了解,我们将得到如下结果:
Topic 1: term1, term2, term....
Topic 2: term1, term2, term3...
...
Topic n: term1, ........
Doc1 : Topic1, Topic2,...
Doc2 : Topic1, Topic2,...
Doc3 : Topic1, Topic2,...
...
Docn :Topic1, Topic2,...
我将 LDA 应用于 Spark Mllib 的示例数据,如下所示:
1 2 6 0 2 3 1 1 0 0 3
1 3 0 1 3 0 0 2 0 0 1
1 4 1 0 0 4 9 0 1 2 0
2 1 0 3 0 0 5 0 2 3 9
3 1 1 9 3 0 2 0 0 1 3
4 2 0 3 4 5 1 1 1 4 0
2 1 0 3 0 0 5 0 2 2 9
1 1 1 9 2 1 2 0 0 1 3
4 4 0 3 4 2 1 3 0 0 0
2 8 2 0 3 0 2 0 2 7 2
1 1 1 9 0 2 2 0 0 3 3
4 1 0 0 4 5 1 3 0 1 0
之后我得到以下结果:
topics: org.apache.spark.mllib.linalg.Matrix =
10.33743440804936 9.104197117225599 6.5583684747250395
6.342536927434482 12.486281081997593 10.171181990567925
2.1728012328444692 2.1939589470020042 7.633239820153526
17.858082227094904 9.405347532724434 12.736570240180663
13.226180094790433 3.9570395921153536 7.816780313094214
6.155778858763581 10.224730593556806 5.619490547679611
7.834725138351118 15.52628918346391 7.63898567818497
4.419396221560405 3.072221927676895 2.5083818507627
1.4984991123084432 3.5227422247618927 2.978758662929664
5.696963722524612 7.254625667071781 11.048410610403607
11.080658179168758 10.11489350657456 11.804448314256682
每一列都是主题的术语分布。共有3个主题,每个主题是11个词汇的分布。
我认为有 12 个文档,每个文档有 11 个词汇表。我的问题是
- 如何找到每个文档的主题分布?
- 为什么每个主题都有超过 11 个词汇表的分布,而数据中总共有 10 个不同的词汇表 (0-9)?
- 为什么每列的总和不等于100(根据我的理解是100%)?
【问题讨论】:
标签: apache-spark apache-spark-mllib lda