我正在使用 sagemaker 的内置分解机器模型构建推荐系统。
我想要的结果是有一个评分矩阵,我可以在其中通过user id和item id查找预测分数。
我了解该模型提供了一个预测 API:
result = fm_predictor.predict(X_test[1000:1010].toarray())
但我不确定如何使用它来达到预期的目的。如果我想知道,如果用户#123 对电影#456 感兴趣,我该如何使用上面的 API?
更新:
我想我现在了解如何使用 API,您必须构建另一个 one-hot 编码数据集作为输入,例如:
X_new = lil_matrix((1, nbFeatures)).astype('float32')
X_new[0, 935] = 1
X_new[0, 1600] = 1
prediction2 = X_new[0].toarray()
result2 = fm_predictor.predict(prediction2)
print(result2)
但是这样填写推荐矩阵似乎效率很低。最佳做法是什么?