我想评估一个时尚电子商务网站的基于mahout的推荐引擎。他们使用关于购买的商品的购物卡信息 - 所以布尔。我想用精度和召回来评估发动机。
1)如何使用这些指标评估推荐引擎?是否可以在更改算法时使用这些值,然后检查自己?
2)或者与其他算法(也使用布尔数据)进行比较是否有意义?如果是,是否有任何精度和召回基准可用(例如,如果精度为x且召回为y,则应丢弃或接受算法)?
希望找到帮助我先提前感谢你们!
答案 0 :(得分:1)
在信息检索上下文中,项目以布尔方式处理,即它们相关或不相关。 Mahout的GenericRecommenderIRStatsEvaluator利用数据分割器从已经优先(或在您的情况下购买,购买)的项目中创建一组代表相关项目的项目。在mahout的情况下,所选项目是最受欢迎的项目。因此,由于评级是布尔值,它只选择n个首选项。我认为这不会使评价本身比普通五星评级更不准确,因为购买是非常强烈的偏好标志。所以:
1)如果您已设法提出建议,那么您可以使用精确度评估建议并将其作为指标进行调用。
2)我使用随机推荐器作为基准(只是选择n个随机项的mahout推荐器的实现)。它通常会产生相当低的精度和召回率,所以如果算法的精度和召回率低于随机推荐器,那么它可能应该被抛弃。我将在离线评估阶段看到的其他指标是覆盖率,因为仅向6000个活跃用户中的80个用户提供推荐的推荐器是没有用的。
还应该注意的是,在学术论文中,精确度和召回度指标在被用作唯一指标时受到了批评。最后,用户决定什么是相关的和什么是不相关的。并且产生略低于另一个的推荐者不一定比另一个更差。例如,更多新颖或偶然的建议可能会让人感到精确和回忆。