我正在尝试了解R中荐书库的给定协议。
来自原始文档https://cran.r-project.org/web/packages/recommenderlab/vignettes/recommenderlab.pdf:
通过扣留项目(给定参数)进行测试。布雷斯等 等(1998)引入了四种实验性撤销协议 称为给定2,给定5,给定10和All-but-1。在测试期间, 给定x协议表示仅随机选择x的算法 供测试用户使用的项目,以及算法的评估程度 能够预测被扣留的物品
我不明白这仅适用于测试用户这一事实。为什么我们不能简单地将其应用于所有用户,而需要在培训和测试用户之间进行划分并使用给定的协议?
由于我们只提供少量项目供算法理解模式并生成预测,然后根据其余项目测试/衡量这些预测的良好程度,因此为什么我们只需要对测试用户执行此操作,我们不能全部做到吗?培训用户如何服务?给出算法后,假设有10个项目可以理解目标用户的模式,那么它就不会使用整个数据集(包括训练和测试)来计算用户邻域(UBCF),以便做出以后的预测评估了使用扣留物品的情况?如果不是,则意味着在此过程中,它仅查看培训用户(例如说80%),为什么还不查看测试用户呢?在附近有另一个测试用户的问题是什么,只需要训练用户?那部分我不明白。或者我的假设是错误的?
总结:为什么我们都需要给定的协议,以及训练和测试之间的隔??
我希望我的问题有意义,我真的很好奇找到解决方案。预先谢谢你:)