解释lightFM的结果

时间:2017-01-27 20:54:30

标签: svm recommendation-engine collaborative-filtering matrix-factorization

我在用户项事务数据集上构建了一个推荐模型,其中每个事务都由1表示。

model = LightFM(learning_rate=0.05, loss='warp')

以下是结果

Train precision at k=3:  0.115301
Test precision at k=3:  0.0209936

Train auc score:  0.978294
Test auc score : 0.810757

Train recall at k=3:  0.238312330233
Test recall at k=3:  0.0621618086561

任何人都可以帮我解释这个结果吗?我是如何得到如此优秀的auc得分和如此糟糕的精确/召回?对于' bpr'' bpr'贝叶斯个性化排名。

预测任务

users = [0]
items = np.array([13433, 13434, 13435, 13436, 13437, 13438, 13439, 13440])
model.predict(users, item)

结果

array([-1.45337546, -1.39952552, -1.44265926, -0.83335167, -0.52803332,
   -1.06252205, -1.45194077, -0.68543684])

如何解读预测分数?

由于

1 个答案:

答案 0 :(得分:1)

当谈到AUC的精度@K之间的差异时,你可能想看看我的答案:Evaluating the LightFM Recommendation Model

分数本身没有明确的比例,也无法解释。它们仅在定义给定用户的项目排名的背景下才有意义,较高的分数表示更强的预测偏好。