问题标签 [nmf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 用于稀疏矩阵的 Scikit-learn 非负矩阵分解 (NMF)
我正在使用 Scikit-learn 的非负矩阵分解 (NMF) 在零条目缺失数据的稀疏矩阵上执行 NMF。我想知道 Scikit-learn 的 NMF 实现是否将零条目视为 0 或缺少数据。
谢谢!
python - 如何在新文本上测试经过训练的 NMF 主题模型
我在 python 中创建了一个 NMF 主题模型,其代码片段如下:
它创建了 20 个主题,如下所示:
现在我想在新文本上进行测试,以便根据这些类别对这些文本进行分类。我怎么做?
python - 如何使 Doc2Vec 文档向量全部为正?
我正在尝试对 Doc2Vec 的输出使用非负矩阵分解。然而,有一个限制是不能有负输入。我如何在不做绝对值之类的事情来解释结果的情况下让它变得积极?如果有帮助,我将加载一个新段落并计算相似性,但我认为使用 Doc2Vec 会捕获更多含义。
scikit-learn - 当我使用 sklearn 并行模块“来自 cdnmf_fast import _update_cdnmf_fast”时,它的并行化不起作用
(这是我第一次提问,如果您觉得标签或描述有问题,请告诉我,谢谢!)
我正在做一个工作Matrix Factorization
并使用模块sklearn.decomposition.nmf
该模块使用另一个模块
from sklearn.decomposition.cdnmf_fast import _update_cdnmf_fast
这个模块来自文件cdnmf_fast.so
你可以在这个网站上查看它的源代码
/sklearn/decomposition/cdnmf_fast.pyx
我们可以看到它使用C语言和“ with nogil:",所以我认为它必须使用并行化。所以我写了一个类似的代码来测试它,如下所示:
预期结果是 X=X+VW*U=0+V-0=V。但是,结果很奇怪,而且比 np.dot() 慢得多。然后我把这段代码改成普通的python代码,而不是并行化代码。结果和以前一样。所以我确信它的并行化不起作用。因为它在改变 X 的同时使用了 X,所以结果当然是错误的。我不知道为什么它的并行化不起作用。是由于模块的错误还是我导入方式的方法?
实际上,当我使用 sklearn.decomposition.nmf 模块时,这让我很担心,我不确定我什么时候使用这个模块,它的并行化是否也不起作用。所以我想知道它是如何使并行化工作的。
谢谢您的帮助!
python - python中对单个图像的非负矩阵分解
我正在尝试将 NMF 应用于以灰度模式加载的特定图像。我尝试了几个链接,但应用 NMF 后的图像几乎保持不变,无法与最初加载的灰度图像区分开来。
然而,当我遇到 scikit-learn 关于在数据集上实现分解的代码时,我看到那里的面孔已经变成了鬼脸。链接在这里:
这是我正在使用的代码:
我对矩阵上的 NMF 技术很陌生,尤其是如此大的图像 numpy 数组。
我的图像是 test1.jpeg,即 225 * 224 .jpeg 图像。
有人可以帮我实现单个图像的代码吗?提前非常感谢。
python - Scikit-learn NMF 去除重复词
我正在使用 scikit-learn 的 nmf 算法从一些博客中提取趋势词。例如,我有“游戏王座”(虽然“的”被删除为停用词,但这很好),但我也有“游戏”和“王座”。我有“marcus hutchins”(好),但我也有“marcus”和“hutchins”,这很糟糕。如何防止重复?这是我所拥有的(变量“文档”是一个包含博客文章的列表):
apache-spark - 将列表列转换为 Pyspark 中的一列值
我已经运行了一个 ALS 模型,并且正在处理输出建议。它们目前采用这种格式:
每行在“item_ids”列中包含一个列表,在“ratings”列中包含一个列表。
我想做的是“取消透视”“item_ids”和“ratings”中的每个列表,使其看起来像这样:
我发现这样做的唯一方法是通过过滤一个 user_id 一次一个用户,将列表转换为 Pandas 数据帧中的列,然后将其往返返回到 Spark 数据帧。正如您可能想象的那样,使用几百万个 user_id 需要很长时间才能完成。我也考虑过使用此处描述的“堆栈”功能,但所需的手动输入也需要很长时间。我还考虑了此处找到的代码,但在涉及列表时它不起作用。
有没有更有效的方法来做到这一点而不必依赖 Pandas?我在 Databricks 上运行 Pyspark (Spark 2.2.0)。
python - 需要执行主题建模并将结果输出到 csv 表
我有以下用于主题建模的代码,我需要从 CSV 文件中获取文本数据,并将它们分组为名为 Topic 0 和 Topic 1 的 2 个主题:
例子:
输入:
输出:
scikit-learn - scikit-learn 中 NMF(又名 NNMF)测试集的重建错误
我正在使用来自 scikit-learn 的 NMF(又名 NNMF)对自然语言数据进行主题提取。我正在尝试优化集群(又名组件)的数量。为此,我需要计算重建误差。然而,使用 scikit-learn 我只看到了一种在训练集上计算这个指标的方法。但我有兴趣为测试集获取这些指标。有什么建议么?