当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark LDAModel用法及代码示例


本文简要介绍 pyspark.mllib.clustering.LDAModel 的用法。

用法:

class pyspark.mllib.clustering.LDAModel(java_model)

从 LDA 方法派生的聚类模型。

潜在狄利克雷分配 (LDA),一种专为文本文档设计的主题模型。术语

  • “word” = “term”:词汇表的一个元素

  • “token”:文档中出现的术语实例

  • “topic”:代表某个概念的词的多项分布

1.5.0 版中的新函数。

注意

参见原始 LDA 论文(期刊版)[1]

1

Blei, D. 等人。 “潜在狄利克雷分配。” J.马赫。学习。水库。 3 (2003): 993-1022。 https://www.jmlr.org/papers/v3/blei03a

例子

>>> from pyspark.mllib.linalg import Vectors
>>> from numpy.testing import assert_almost_equal, assert_equal
>>> data = [
...     [1, Vectors.dense([0.0, 1.0])],
...     [2, SparseVector(2, {0: 1.0})],
... ]
>>> rdd =  sc.parallelize(data)
>>> model = LDA.train(rdd, k=2, seed=1)
>>> model.vocabSize()
2
>>> model.describeTopics()
[([1, 0], [0.5..., 0.49...]), ([0, 1], [0.5..., 0.49...])]
>>> model.describeTopics(1)
[([1], [0.5...]), ([0], [0.5...])]
>>> topics = model.topicsMatrix()
>>> topics_expect = array([[0.5,  0.5], [0.5, 0.5]])
>>> assert_almost_equal(topics, topics_expect, 1)
>>> import os, tempfile
>>> from shutil import rmtree
>>> path = tempfile.mkdtemp()
>>> model.save(sc, path)
>>> sameModel = LDAModel.load(sc, path)
>>> assert_equal(sameModel.topicsMatrix(), model.topicsMatrix())
>>> sameModel.vocabSize() == model.vocabSize()
True
>>> try:
...     rmtree(path)
... except OSError:
...     pass

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.mllib.clustering.LDAModel。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。