问题标签 [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.
matlab - MATLAB nnmf() - 大型术语文档矩阵 - 内存和速度问题
我有一个很大的术语文档矩阵,想使用 matlab 提供的非负矩阵分解函数。问题是在第 1 次迭代之后,内存使用率迅速上升并达到顶峰(我的系统有 6GB),另一方面,CPU 使用率水平变得非常低(大约 1%-5%)。整个系统的行为就像它已经崩溃一样,只有等待很长时间才能完成第二次迭代。(请注意,要获得好的结果需要更多的迭代)。
问题:
如果有人对此有任何经验,或者使用比我更大的矩阵运行 nnmf(),我真的很想知道他/她实际上是如何克服上述问题的。
另外:我用较小的矩阵(大约 7000x1800)完成了这个,没有问题。我使用稀疏矩阵是因为术语文档矩阵有很多零元素,这有助于减少需要存储的空间。例如,在我的情况下,术语文档矩阵具有14608 * 18828 = 275039424
元素和sum(sum(spa~=0)) = 1312582
非零元素:
python - 是否有好的库可以快速进行非负矩阵分解(NMF)?
我有一个稀疏矩阵,其形状为570000*3000。我试过nima做 NMF(使用默认的 nmf 方法,并设置max_iter
为 65)。但是,我发现 nimfa 非常慢。有没有人使用更快的库来做 NMF?
scikit-learn - 如何正确使用 Pipleline 和 MinMaxScaler + NMF 来预测数据?
这是一个非常小的 sklearn 片段:
我会收到这个错误:
根据这个问题: Scaling test data to 0 and 1 using MinMaxScaler
我知道这是因为
这是因为我的测试数据中的最小值低于训练数据,其中 min max scaler 是合适的
但我想知道,这是一个错误吗?MinMaxScaler(所有缩放器)似乎应该在我进行预测之前应用,它不应该依赖于以前拟合的训练数据,对吗?
或者我怎样才能正确地使用带有管道的预处理缩放器?
谢谢。
python - 使用保存的 W 矩阵应用矩阵分解进行分类
我正在对 tf-idf 输入执行 NMF 分解以执行主题分析。
这将返回W,一个由主题到术语分配的模型定义和H,一个文档到主题分配矩阵
到目前为止一切顺利,我可以使用 H 根据它们通过词频与主题列表的关联对文档进行分类,而主题列表又基于它们与词频的关联。
我想将主题术语关联保存到磁盘,以便稍后重新应用它们 - 并采用此处描述的方法 [ https://stackoverflow.com/questions/8955448]来存储 W 的稀疏矩阵表示.
所以我现在想做的是执行相同的过程,只修复主题定义矩阵 W。
在文档中,我似乎可以在调用参数中设置 W 类似的内容:
我已经尝试过了,但它似乎不起作用。
我已经通过使用不同大小的词汇表编译 W 矩阵进行了测试,然后将其输入到applyModel
函数中,结果矩阵的形状应该由 W 模型定义(或者我应该说,这就是我想要的),但事实并非如此。
这个问题的简短版本是:如何保存从矩阵分解生成的主题模型,以便我可以使用它来分类与最初生成它的文档集不同的文档集?
换句话说,如果V = WH ,那么在给定V和W的情况下,我如何返回H?
r - 如何在 R 中查看 NMF 算法的源代码?
我使用 R 很新,我必须编写一个新的 NMF 算法,以便在调用method
函数时用作参数nmf()
。
作为一种开始,我想查看内置算法的源代码为 brunet、KL、lee,但我找不到它。有人能帮助我吗?
probability - 在 Stan 或 PyMC3 中是否可以组合 2 个多项分布
我有 2 个不同的多项式分布,我想将它们相乘以得到一个矩阵。该矩阵与我观察到的数据相匹配。有没有办法使用 PyMC3 或 Stan 分解这些数据?有什么好的例子吗?这似乎类似于非负矩阵分解的贝叶斯版本。
python - IndexError:在 sklearn 中使用 NMF 越界
我正在尝试从数据集创建主题模型。该代码能够正确使用 NMF 从解析的数据中生成任务数量的主题,但是当语料库长度 = 20 时它会中断,如下所示
我仍然熟悉 sklearn 工具集,所以我接受这可能是我的一个简单的忽略,因为大部分代码都是从各种示例中录制的。
究竟是什么导致了这个索引错误,我该如何纠正它?
python - 如何在 Python 代码中使用 rpy2 将 R 函数作为参数传递
我正在尝试为出色的 NMF 包制作 Python 接口 - https://cran.r-project.org/web/packages/NMF/NMF.pdf(因为它比 Python 选项灵活得多)。到现在为止还挺好。
我想出了这样的事情:
它就像一个魅力。方法是我可以使用的可能算法的列表:
nmf算法()
[1] “深色” “KL” “李” “Frobenius” “偏移”
[6]“nsNMF”“ls-nmf”“pe-nmf”“siNMF”“snmf/r”
[11] "snmf/l"
其他可能性是使用自定义算法,如 NMF 文档中所述
我怎样才能重现这个使用rpy2
?
我试过类似的东西:
但它并没有创造魔法=(
NMF 算法 - 键“key=function (x, seed, scale.factor >= 1) 没有匹配条目
{
pca <- prcomp(t(x), retx = TRUE)
factorization.rank <- nbasis(种子)
猫(种子)
基础(种子)<- 绝对值(pca$rotation[, 1:factorization.rank])
coef(seed) <- t(abs(pca$x[, 1:factorization.rank]))/scale.factor
返回(种子)
}”在注册表中。
使用以下之一:'brunet'、'Frobenius'、'KL'、'lee'、'ls-nmf'、'.M#brunet'、'nsNMF'、'offset'、'pe-nmf'、'.R #brunet'、'.R#lee'、'.R#nsNMF'、'.R#offset'、'siNMF'、'.siNMF'、'snmf/l'、'snmf/r'。
警告.warn(x, RRuntimeWarning)
我想知道是否有人可以在这里帮助我?
r - 使用 R 中的库(NMF)在热图中重新排序树状图
我有一个像这样的数据框:
我可以使用以下方法从中生成树状图library(dendextend)
:
我想使用这个树状图clust
对另一个数据框中的样本进行排序。此数据框具有相同的样本,如下所示:
test_df_extend
我可以使用以下代码生成热图:
但是,当我尝试将树状图传递到热图clust
中时,我在理解输出时遇到了问题。我可以获得重新排序的树状图,但不确定下面 1) 和 2) 之间的区别是什么意思。一个已Rowv
指定,另一个已reorderfun
随机指定w
!?我想我不完全理解这些reorderfun
论点,特别是 weight (w) 论点及其与Rowv
. 谁能帮我解释一下?谢谢!
1)
2)