1

我想评估一个时尚电子商务网站的基于 mahout 的推荐引擎。他们使用有关一起购买的商品的购物卡信息 - 如此布尔值。我想使用精度和召回率来评估引擎。

1)如何使用这些指标来评估推荐引擎?是否可以在更改算法时使用这些值然后对自己进行检查?

2)或者与其他算法(也使用布尔数据)进行比较是否有意义?如果是,是否有任何可用的精度和召回基准(例如,如果精度为 x,召回率为 y,那么算法应该被丢弃或接受)?

希望得到帮助,我提前谢谢你们!

4

1 回答 1

1

那么在信息检索上下文中,项目以布尔方式处理,即它们是相关的或不相关的。Mahout 的 GenericRecommenderIRStatsEvaluator 利用数据拆分器从代表相关项目的已首选(或在您的情况下购买,已购买)项目中制作一组。在 mahout 的情况下,所选项目是前 n 个最喜欢的项目。因此,由于评级是布尔值,它只选择 n 个首选项目。我不相信这会使评估本身比正常的五星级评级更加不准确,因为购买是非常强烈的偏好迹象。所以:

1)如果您已经设法提出建议,那么您可以使用精确度和召回率作为指标来评估建议。

2)我使用了一个随机推荐器作为基准(只是一个选择 n 个随机项目的 mahout 推荐器的实现)。它通常会产生相当低的精度和召回率,因此如果该算法的精度和召回率低于随机推荐器,则可能应该放弃它。我将在离线评估阶段查看的其他指标是达到,因为仅向 6000 个活跃用户中的 80 个用户生成推荐的推荐器非常无用。

还应该注意的是,在学术论文中,精确率和召回率指标在用作唯一指标时受到了批评。最后,用户决定什么是相关的,什么是不相关的。并且产生的推荐器比另一个略低,并不一定比另一个差。例如,更新颖或偶然的推荐可能更喜欢精确度和召回率。

于 2015-05-24T20:17:12.717 回答