Matrix 非负矩阵分解:如何预测新条目的值?

Matrix 非负矩阵分解:如何预测新条目的值?,matrix,machine-learning,scikit-learn,factorization,dimensionality-reduction,Matrix,Machine Learning,Scikit Learn,Factorization,Dimensionality Reduction,我目前的理解: 我试着阅读了一些关于NMF的文章和链接。这都是关于如何将MxN矩阵拆分为MxR和RxN矩阵(R 问题: 我有一个用户列表(U)和每个用户的一些分配(a)。现在我使用NMF拆分这个矩阵(UxA)。我得到了两个矩阵UxR和RxA。我如何使用它们来预测新用户(U)必须有哪些分配(a') 任何帮助都将不胜感激,因为我在试图寻找答案后无法理解这一点 附带问题和基于意见: 另外,如果有人能告诉我他们的经验,他们是如何选择R的,特别是当作业数量在50000或十万左右时。我一直在scikit学习

我目前的理解:
我试着阅读了一些关于NMF的文章和链接。这都是关于如何将MxN矩阵拆分为MxR和RxN矩阵(R 问题:
我有一个用户列表(U)和每个用户的一些分配(a)。现在我使用NMF拆分这个矩阵(UxA)。我得到了两个矩阵UxR和RxA。我如何使用它们来预测新用户(U)必须有哪些分配(a')

任何帮助都将不胜感激,因为我在试图寻找答案后无法理解这一点

附带问题和基于意见:
另外,如果有人能告诉我他们的经验,他们是如何选择R的,特别是当作业数量在50000或十万左右时。我一直在scikit学习库中尝试这些

编辑:
这可以简单地使用model.inverse_transform(model.transform(User'))

您可以尝试将此问题视为推荐问题。您希望近似地将矩阵X分解为两个非负矩阵U和V

对于pyothn scikit learn,您可以使用:

其中X是要分解的矩阵,W和H是非负因子

要预测新用户(U)的任务(A'),只需使用WH'来完成maitrx

from sklearn.decomposition import NMF
model = NMF(n_components=2, init='random', random_state=0)
W = model.fit_transform(X)
H = model.components_