我在用户项事务数据集上构建了一个推荐模型,其中每个事务都由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])
如何解读预测分数?
由于
答案 0 :(得分:1)
当谈到AUC的精度@K之间的差异时,你可能想看看我的答案:Evaluating the LightFM Recommendation Model。
分数本身没有明确的比例,也无法解释。它们仅在定义给定用户的项目排名的背景下才有意义,较高的分数表示更强的预测偏好。