微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将Movielens数据拆分为训练验证测试数据集

如何解决将Movielens数据拆分为训练验证测试数据集

我正在使用贝叶斯个性化排名优化在python编写的推荐系统上进行项目。我非常有信心模型可以充分了解我提供的数据,但是现在是时候找出确切的模型超参数并尝试避免过拟合。由于movielens数据集仅向我提供了没有验证集的5倍训练测试数据集,因此我想自己分割原始数据集以验证模型。

由于movielens数据集包含943个用户数据,并且每个用户都保证已对至少20部电影进行排名,因此我正在考虑对数据进行拆分,以使TRAIN和TEST数据集都包含相同数量用户(例如943),并且将80%的隐式反馈数据分配给TRAIN,另一个分配给TEST。训练后,将使用所有943位用户的k精度Recall平均值进行验证。

这是分割数据集的正确方法吗?我很好奇,因为原始的movielens测试数据集似乎并不包含所有943位用户的测试数据。如果某个用户没有任何可预测的测试数据,我如何使用callback @ k进行评估-这样做会导致零除?我是否应该跳过该用户并与其他用户一起计算平均值?

感谢您的冗长阅读,希望您不要像我一样困惑。

解决方法

我将如何拆分整个数据集(80%(训练)-10%(验证)-10%(测试))。它应该可以解决:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。