评估推荐系统的方法主要有三种:离线、在线和用户研究。在大多数学术论文中,采用离线评估来表明以下改进:
然而,对于大多数非序贯推荐工作,数据集分割似乎是随机的,没有考虑记录的时序顺序。我认为这可能会造成高估的问题。
例如,考虑在itemCF上评估MovieLens:如果数据集是随机分割的,那么样本的顺序将被洗牌。这意味着我们可以利用未来的数据来训练一个模型,并对过去进行预测:
培训数据集包含Bob在2019年4月购买了一本Harry Porter书(这是对Harry Porter的第二次购买),测试数据集中包含Bob在2019年3月购买了Harry Porter的一本书(这是对Harry Porter的第一次购买)。基于项目的CF方法可能会推荐Harry Porter第一次购买是因为第二次购买,这违反了因果关系的规律,结果是高估了基于项目的CF的性能。
这算是作弊。我看不出有什么地方在讨论这个问题。因此,我怀疑推荐系统离线评估的真正性能,并希望听到更多关于这方面的声音。
发布于 2019-10-09 14:11:58
序列数据(即可以用序列(如时间序列)来理解的数据)需要适当的列车测试分割。在处理序列时,分割也必须是时态的。
这是相同的原则,这是必须遵循的时候,培训语言模型,以成为最常见的例子。这在文学中是众所周知的。
我建议您在数据中找到一个时间步长阈值,并使用它在列车和测试集之间进行分割。
https://datascience.stackexchange.com/questions/61493
复制相似问题