我在一个用户项事务数据集上构建了一个推荐模型,其中每个事务用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‘贝叶斯个性化排名,精确度/召回率更差。
预测任务
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])我如何解释预测分数?
谢谢
发布于 2017-08-03 01:19:31
当谈到AUC的精度@K之间的区别时,你可能想看看我的答案:Evaluating the LightFM Recommendation Model。
分数本身没有定义的尺度,也无法解释。只有在为给定用户定义项目排名的上下文中,它们才有意义,得分越高,表示预测的偏好越强。
https://stackoverflow.com/questions/41902860
复制相似问题