MovieLens 100k 数据集提供了五对训练和测试集,用于 5 折交叉验证。但是,我了解到在测试集上进行测试之前应该使用验证集,以获得最佳参数值。
我假设在原始拆分中,五个“测试集”实际上是验证集。如果这是真的,那么就没有可以测试模型性能的“测试集”。那么我是否应该重新拆分 MovieLens 数据以执行健全的训练验证测试过程?
谢谢!
MovieLens 100k 数据集提供了五对训练和测试集,用于 5 折交叉验证。但是,我了解到在测试集上进行测试之前应该使用验证集,以获得最佳参数值。
我假设在原始拆分中,五个“测试集”实际上是验证集。如果这是真的,那么就没有可以测试模型性能的“测试集”。那么我是否应该重新拆分 MovieLens 数据以执行健全的训练验证测试过程?
谢谢!
实际上,movielens 集中的测试有 2 个选项。
第一个选项:用户被分成5个组,每个组中又分为一个基本组和一个测试组。基础组在这里“训练”您的算法,而测试组则用于测试。您有 5 个不同的组,因此您可以进行 5 次学习和测试过程,最终获得各种组的统计信息。
第二个选项:100k 集合中的每个用户都有 20 个评分。在第二种情况下,您有两个集合 a 和 b。每个用户对 a 有 10 个评分,对 b 有 10 个评分。因此,您可以从集合 a 中学习,然后尝试猜测和比较集合 b。
当然,有了完整的组合,你也可以根据需要设置自己的组!