在使用非负矩阵分解生成推荐时,如何为新用户重建数据?
我遵循这个方程data.dot(H.T.dot(np.linalg.pinv(H.dot(H.T))).dot(H))进行重建,其中H表示潜在分量,data由包含缺失条目的新数据组成。
但似乎在某些地方出了问题,因为我没有得到预期的结果(那些来自其他方法的结果,比如sklearn NMF,特别是inverse_transform方法)。
发布于 2018-04-06 02:34:16
对于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是要分解的矩阵。W和H是非负性因子
您可以通过WH'预测新的推荐或调用完整的data矩阵
https://stackoverflow.com/questions/49341132
复制相似问题