如何在矩阵分解中将预测重新插入原始矩阵?

时间:2019-11-28 04:39:15

标签: python-3.x matrix-factorization fastfm

我正在使用矩阵分解来使用fastFM填充数据集中的值。

from fastFM.datasets import make_user_item_regression
from sklearn.model_selection import train_test_split

# This sets up a small test dataset.
X, y, _ = make_user_item_regression(label_stdev=.4)
X_train, X_test, y_train, y_test = train_test_split(X, y)

预测

from fastFM import als
fm = als.FMRegression(n_iter=1000, init_stdev=0.1, rank=2, l2_reg_w=0.1, l2_reg_V=0.5)
fm.fit(X_train, y_train)
y_pred = fm.predict(X_test)

尽管我在y_pred变量中得到了最终值。如何将新预测的值插入原始矩阵(其中这些值缺失/ 0)中。 ?

如果maxtrix像

[1, 5, 0,
 2, 3, 0]

并且预测为[1,1],这些值在原始矩阵中将为两个0。

如何将y_pred插入原始矩阵的正确位置,以便可以得到具有正确值的最终矩阵。 (这样的事情)

[1, 5, 3,
 2, 3, 3]

如果可以使用其他库(例如PyFM或MXnet)完成此操作,那么也会很有帮助。

0 个答案:

没有答案