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

詞彙量大小(詞彙)的條款或條件