如何在python scikit NMF中处理缺失值

问题描述 投票:5回答:2

我正在尝试使用python scikit-learn在我的数据集上应用NMF。我的数据集包含0个值和缺失值。但scikit-learn不允许数据矩阵中的NaN值。有些帖子说用零替换缺失值。

我的问题是:

  • 如果我用零替换缺失值,算法如何告诉缺失值和实际零值?
  • 是否有任何其他NMF实现可以处理缺失值?
  • 或者,如果有任何其他矩阵分解算法可以做缺失值预测?
python scikit-learn recommendation-engine svd matrix-factorization
2个回答
1
投票

在scikit-learn github中有一个关于这个的线程,并且版本接缝可用但尚未提交给主代码。

https://github.com/scikit-learn/scikit-learn/pull/8474


1
投票

SGD将在这里完成工作,但scikit-learn没有可以应用于该任务的scikit-learn。编写自己的一个将完成这项工作,但由于无法直接并行化矩阵分解SGD,因此会非常缓慢。检查分布式SGD算法描述here。它实现起来并不困难,它可以显着加快速度。

© www.soinside.com 2019 - 2024. All rights reserved.