2

我在用户项目事务数据集上构建了一个推荐模型,其中每个事务由 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])

如何解释预测分数?

谢谢

4

1 回答 1

1

当谈到 AUC 的precision@K 之间的区别时,您可能想在这里看看我的答案:评估 LightFM 推荐模型

分数本身没有明确的尺度,也无法解释。它们仅在为给定用户定义项目排名的情况下才有意义,分数越高表示预测的偏好越强。

于 2017-08-02T17:19:31.473 回答