我正在尝试了解 R 中推荐实验室库的给定协议。
从原始文档https://cran.r-project.org/web/packages/recommenderlab/vignettes/recommenderlab.pdf:
测试是通过扣留项目(给定参数)来执行的。布里斯等人。(1998) 介绍了四种实验性的预扣协议,称为 Given 2、Given 5、Given 10 和 All-but-1。在测试期间,Given x 协议仅向测试用户提供 x 个随机选择的项目的算法,并且该算法通过它能够预测保留项目的能力来评估
我不明白这仅适用于测试用户的事实。为什么我们不能简单地将其应用于所有用户,并且我们需要在训练和测试用户之间分开并使用给定的协议?
由于我们只为算法提供了很少的项目来理解模式并产生预测,然后根据其余项目测试/衡量这些预测的好坏,为什么我们只需要为测试用户这样做,我们可以不是为所有人做的吗?培训用户如何服务?当给定算法时,让我们说 10 个项目来理解目标用户的模式,它不是使用整个数据集(训练和测试)来计算用户邻域(例如,UBCF),以便做出稍后的预测评估使用被扣留的项目?如果不是,这意味着在此过程中它只查看培训用户(例如 80%),为什么不查看测试用户呢?在附近有另一个测试用户有什么问题,并且只需要培训用户吗?那部分我不明白。或者我的假设是错误的?
总结一下:为什么我们都需要给定的协议,以及训练和测试之间的分离?
我希望我的问题是有道理的,我真的很想找到解决方案。先感谢您 :)