评估LightFM推荐模型

11

我已经玩了相当长一段时间的lightfm,发现它非常有用,可以生成推荐。然而,我想知道两个主要问题。

  1. 评估LightFM模型时,如果推荐等级很重要,我应该更依赖于precision@k还是其他提供的评估指标,比如AUC分数?在哪些情况下,我应该专注于改善我的precision@k而不是其他指标?或者它们高度相关?这意味着如果我设法提高我的precision@k得分,其他指标会跟随,我是正确的吗?

  2. 如果使用WARP损失函数训练的模型得分为0.089的precision@5,你会如何解释?据我所知,precision@5告诉我前5个结果中有多少是正面/相关的。这意味着如果我的预测无法进入前5个结果,我将获得0的precision@5,如果我在前5个结果中只有一个预测是正确的,我将获得0.2。但我不能解释precision@n的0.0xx是什么意思。

谢谢

1个回答

26

Precision@K和AUC衡量的是不同的东西,它们从不同的角度评估模型的质量。一般来说,这两个指标应该是相关的,但了解它们的区别可以帮助您选择更适合您应用程序的那一个。

  • Precision@K衡量排名前K个物品中正项所占比例。因此,它非常关注列表顶部的排名质量:只要前K个物品大多数是正项,其余排名的好坏并不重要。如果您只会向用户展示列表的前几项,则此指标可能比较适合。
  • AUC衡量整个排序的质量。在二元情况下,它可以被解释为随机选择一个正项高于随机选择一个负项的概率。因此,接近1.0的AUC将表明您的排名基本上是正确的:即使前K项中没有正项,也可能是真实的。如果您无法完全控制哪些结果将呈现给用户,则此指标可能更合适;可能推荐的前K项已不再可用(比如缺货),您需要向下移动到排序中的其他位置。高AUC得分将为您提供对整个排序质量的信心。

注意,虽然AUC指标的最大值为1.0,但precision@K的最大可达分数取决于您的数据。例如,如果您衡量precision@5,但只有一个正项,则可以达到的最高得分为0.2。

在LightFM中,AUC和precision@K例程返回测试数据中每个用户的指标得分数组。您很可能需要求平均值以获得平均的AUC或平均的precision@K得分:如果您的一些用户在precision@5指标上得分为0,则您的平均precision@5得分可能介于0和0.2之间。

希望对您有所帮助!


1
在非二进制情况下,如何解释AUC?即电影评分是连续的。 - Jorge Barrios
有效观点。我更希望得到像RMSE这样的东西。有可能吗? - Mez13

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接