LDAModel

pyspark.mllib.clustering。 LDAModel ( java_model:py4j.java_gateway.JavaObject )

聚类模型来源于LDA方法。

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

  • “词”=“术语”:一个元素的词汇

  • “令牌”:一个术语出现在文档的实例

  • “主题”:多项分布在单词代表一些概念

笔记

看到原来的LDA纸(版)》杂志上[1]

1

布莱,d . et al。”潜在狄利克雷分配。“j·马赫。学习。研究》3 (2003):993 - 1022。https://www.jmlr.org/papers/v3/blei03a

例子

> > >pyspark.mllib.linalg进口向量> > >numpy.testing进口assert_almost_equal,assert_equal> > >数据=((1,向量密集的([0.0,1.0])),(2,SparseVector(2,{0:1.0})),]> > >抽样=sc并行化(数据)> > >模型=乔治。火车(抽样,k=2,种子=1)> > >模型vocabSize()2> > >模型describeTopics()(((1,0)、(0.5……,0。49...]), ([0, 1], [0.5..., 0.49...])]> > >模型describeTopics(1)0.5 [([1],[…]),([0],[…]0.5)]
> > >主题=模型topicsMatrix()> > >topics_expect=数组([[0.5,0.5),(0.5,0.5]])> > >assert_almost_equal(主题,topics_expect,1)
> > >进口操作系统,tempfile> > >shutil进口rmtree> > >路径=tempfilemkdtemp()> > >模型保存(sc,路径)> > >sameModel=LDAModel负载(sc,路径)> > >assert_equal(sameModeltopicsMatrix(),模型topicsMatrix())> > >sameModelvocabSize()= =模型vocabSize()真正的> > >试一试:rmtree(路径)除了OSError:通过

方法

调用(名字,*一个)

调用的方法java_model

describeTopics([maxTermsPerTopic])

返回加权术语描述的主题。

负载(sc路径)

从磁盘加载LDAModel。

保存(sc路径)

这个模型保存到给定的路径。

topicsMatrix()

推断出主题,每个主题由分布的条件。

vocabSize()

词汇量大小(词汇)的条款或条件

方法的文档

调用 ( 的名字:str,*一个:任何 )→任何

调用的方法java_model

describeTopics ( maxTermsPerTopic:可选(int]=没有一个 )→列表(元组(列表(int] ,列表(浮动] ] ]

返回加权术语描述的主题。

警告

如果大vocabSize和k,这可以返回一个大对象!

参数
maxTermsPerTopic int,可选

最大数量的收集为每个主题。(默认值:词汇量大小)

返回
列表

数组的话题。每个主题都被表示为一对匹配的数组:(一项指标,一项权重的主题)。每个主题的条款在重量递减的顺序排序。

classmethod 负载 ( sc:pyspark.context.SparkContext,路径:str )pyspark.mllib.clustering.LDAModel

从磁盘加载LDAModel。

参数
sc pyspark.SparkContext
路径 str

存储路径的模型。

保存 ( sc:pyspark.context.SparkContext,路径:str )→没有

这个模型保存到给定的路径。

topicsMatrix ( )→numpy.ndarray

推断出主题,每个主题由分布的条件。

vocabSize ( )→int

词汇量大小(词汇)的条款或条件