【问题标题】:Using NMF for generating recommendations使用 NMF 生成推荐
【发布时间】:2018-08-26 17:23:01
【问题描述】:

在使用非负矩阵分解生成推荐时,如何为新用户重建数据?

我遵循这个方程data.dot(H.T.dot(np.linalg.pinv(H.dot(H.T))).dot(H)) 进行重建,其中H 代表潜在成分,data 由包含缺失条目的新数据组成。

但似乎在某个地方出了问题,因为我没有得到预期的结果(来自其他方法的结果,例如 sklearn NMF,特别是 inverse_transform 方法)。

【问题讨论】:

  • Two people 同时在同一所大学从事同一任务?也许你应该互相交谈:-)。无论如何:你们都误解了inverse_transform 的作用,如上面的链接所述。
  • 谢谢,将与上述检查。但是,我似乎仍然不明白我在 inverse_transform 中遗漏了什么。你介意详细说明一下吗?

标签: python numpy scikit-learn linear-algebra recommendation-engine


【解决方案1】:

https://cambridgespark.com/content/tutorials/implementing-your-own-recommender-systems-in-Python/index.html

对于 pyothn scikit-learn,您可以使用: http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.NMF.html

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

其中data 是您要分解的矩阵。 WH 是非负因子

您可以通过WH'预测新的推荐或调用完成data矩阵

【讨论】:

  • 第一个链接坏了
猜你喜欢
  • 1970-01-01
  • 2015-09-12
  • 2012-11-25
  • 1970-01-01
  • 2011-08-05
  • 1970-01-01
  • 2018-09-20
  • 2016-08-07
  • 1970-01-01
相关资源
最近更新 更多