- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,为了以防万一,我将解释如何表示要运行 LDA 模型的文档。首先,我进行一些预处理,以获得每个人所有文档中最重要的术语,然后获得所有最重要单词的并集。
val text = groupedByPerson.map(s => (s._1,preprocessing.run(s, numWords, stopWords)))
val unionText = text.flatMap(s=> s._2.map(l => l._2)).toSet
我使用正则表达式“标记”所有文档中的所有单词,
val df: Dataframe = ...
val regexpr = """[a-zA-Z]+""".r
val shaveText = df.select("text").map(row => regexpr.findAllIn(row.getString(0)).toSet)
val unionTextZip = unionText.zipWithIndex.toMap
我还注意到我需要将字符串“words”转换为唯一的 double 值,类似于 documents 中给出的示例在运行LDA模型之前,所以我创建了一个映射来转换所有单词。
val numbersText = shaveText.map(set => set.map(s => unionTextZip(s).toDouble))
然后我创建语料库
val corpus = numbersText.zipWithIndex.map(s => (s._2, Vectors.dense(s._1.toArray))).cache
现在我运行LDA模型
val ldaModel = new LDA().setK(3).run(corpus)
当我检查词汇量大小时,我注意到它被设置为语料库中第一个文档大小的大小,尽管存在词汇量较大或较小的文档。
因此主题矩阵将给出如下所示的错误
Exception in thread "main" java.lang.IndexOutOfBoundsException: (200,0) not in [-31,31) x [-3,3)
at breeze.linalg.DenseMatrix$mcD$sp.update$mcD$sp(DenseMatrix.scala:112)
at org.apache.spark.mllib.clustering.DistributedLDAModel$$anonfun$topicsMatrix$1.apply(LDAModel.scala:544)
at org.apache.spark.mllib.clustering.DistributedLDAModel$$anonfun$topicsMatrix$1.apply(LDAModel.scala:541)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
at org.apache.spark.mllib.clustering.DistributedLDAModel.topicsMatrix$lzycompute(LDAModel.scala:541)
at org.apache.spark.mllib.clustering.DistributedLDAModel.topicsMatrix(LDAModel.scala:533)
at application.main.Main$.main(Main.scala:110)
at application.Main.main(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
我想我可以使用向量来表示一袋单词。向量的大小是否需要相等?也就是说,为每个单词创建一个 bool 特征,无论它是否在文档中?
最佳答案
长话短说,当然向量需要具有相同的长度。显而易见的答案是使用稀疏向量。我用过this及其 github 链接以获取指导。
关于scala - Spark Latent Dirichlet Allocation模型主题矩阵太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36758971/
我需要一个 Dirichlet 分布并且我正在使用 numpy.random.dirichlet。当我根据 Dirichlet PDF 公式给出 alpha=[1,1,1,1] 时,它应该产生一个统一
我想知道是否有人知道一个Python包,它实现了MLE来估计狄利克雷分布的参数。 最佳答案 Eric Suh 有一个包裹 here 。 $ pip install git+https://github
我想设置 fipy 来求解具有正弦边界的一维扩散平流方程。 我最终得到了以下代码: from fipy import * import numpy as np import matplotlib.py
首先,为了以防万一,我将解释如何表示要运行 LDA 模型的文档。首先,我进行一些预处理,以获得每个人所有文档中最重要的术语,然后获得所有最重要单词的并集。 val text = groupedByP
我想用tensorflow实现LDA作为实践,我认为tensorflow版本可能有以下优点: 快。如果我可以使用内置的操作来表达采样过程。 易于并行化。许多操作已经通过并行化优化实现,因此这个 lda
我正在使用 LDA 算法将许多文档聚类到不同的主题中。 LDA算法需要一个输入参数:主题数量。我如何确定这一点? 我正在使用路透社语料库来对我的解决方案进行基准测试。路透社语料库已准备好主题编号。对路
我正在尝试计算积分 sin(x)/x , x = [0,inf] 我做了以下事情: import math from scipy.integrate import quad t = float("in
我有一个函数可以计算狄利克雷分布的条件(第 k 个 alpha)对数似然。我用 Cython 编写并编译了它,但我的代码调用了大约 12M 次,这似乎是瓶颈,所以我希望加快速度。 cimport nu
我在文档语料库上使用了 LDA,并找到了一些主题。我的代码的输出是两个包含概率的矩阵。一个文档主题概率和另一个词主题概率。但我实际上不知道如何使用这些结果来预测新文档的主题。我正在使用吉布斯采样。有谁
我正在努力实现 Dirichlet 变量的集中因子依赖于另一个变量的模型。 情况如下: 系统因组件故障而失败(共有三个组件,每次测试/观察只有一个组件失败)。 组件发生故障的概率取决于温度。 这是该情
关于 numpy page他们给出了例子 s = np.random.dirichlet((10, 5, 3), 20) 一切都很好,很棒;但是,如果您想从 alpha 的二维数组中生成随机样本怎么办
我在一组文档上使用 Gensim HDP 模块。 >>> hdp = models.HdpModel(corpusB, id2word=dictionaryB) >>> topics = hdp.pr
我正在使用 sklearn 的 NMF 和 LDA 子模块来分析未标记的文本。我阅读了文档,但不确定这些模块(NMF 和 LDA)中的变换函数是否与 R 的主题模型中的后验函数相同(请参阅 Predi
是否可以使用 LDA 在 gensim 中对给定的一组输入进行聚类?我该怎么做? 最佳答案 LDA 生成语料库中文档的低维表示。对于这种低 d 表示,您可以应用聚类算法,例如k-均值。由于每个轴对应一
我正在使用 gensim 训练我的 ldamodel,并使用像这样的测试语料库进行预测 ldamodel[doc_term_matrix_test],它工作得很好但是我不明白预测实际上是如何使用经过训
在 being unsuccessful in using decorators 之后为了定义“指数随机变量的对数”的随机对象,我决定使用 pymc.stochastic_from_dist 为这个新
我正在尝试为计算域的四个边求解具有 Dirichlet 边界条件的 Poison 方程。众所周知,我应该使用 FFTW_RODFT00 来满足条件。但是,结果不正确。你能帮帮我吗? #include
我现在正在通过 LDA(Latent Dirichlet Allocation)主题建模方法来帮助从一组文档中提取主题。据我从下面的链接中了解到,这是一种无监督学习方法,可以使用提取的主题对每个文档进
我正在寻找一个多变量 GMM 的 C++ 实现,它使用基于 Gibbs 采样的方法来拟合/分类(而不是通常的基于 EM),以便能够充分利用先验信息并添加在限制条件下。通常称为狄利克雷过程高斯混合模型或
我对“使用 Dirichlet 过程作为集群数量的先验分布的无限混合模型”的理解是,集群的数量由数据决定,因为它们会收敛到一定数量的集群。 此R 实现 https://github.com/jacob
我是一名优秀的程序员,十分优秀!