使用NMF生成建议

时间:2018-03-17 19:36:45

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

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

我正在按照此等式 floatingActionButton: fabs[fabIndex], 进行重建,data.dot(H.T.dot(np.linalg.pinv(H.dot(H.T))).dot(H))表示潜在组件,H包含缺少条目的新数据。

但似乎在某处出错,因为我没有得到预期的结果(来自其他方法的那些,例如sklearn NMF,特别是data方法)。

1 个答案:

答案 0 :(得分:3)

请参阅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是非负因素

您可以通过data

预测新推荐或被叫完成WH'矩阵