在阅读了一些关于推荐系统的教程和文章之后,我不知道是应该将数据集分割成训练/测试集,还是使用整个数据集来允许模型在培训期间记住每个用户/项的交互。
如果我认为我可以每天对模型进行再培训,那么让模型在整个数据集中过度拟合数据是否有意义,因为模型只会向已知的用户推荐已知的项(在考虑这个用例时)?
此外,当使用像在双塔模型中的嵌入时,嵌入者能知道如何用一个看不见的用户id嵌入用户吗?仅仅使用用户的特性嵌入一个看不见的用户就足够了吗?
谢了,杰蕾
发布于 2022-12-13 20:06:00
取决于你的模式和动机。
如果您正在培训基于内容的模型,那么您的数据将由项/用户特性组成。在这种情况下,如果希望模型向用户推荐不可见的项,则可能需要分离一些项/用户进行测试。否则,当您培训新模型时,可能希望仅推荐已包含在整个数据集中的项。
如果您正在培训协作模型,那么您的数据将由用户-项交互组成。在这种情况下,您可能需要为测试留出一些交互。您可以选择获取一个用户/项,并将它们与所有交互放在测试集中,或者只需获得一些交互,并将用户/项保留在培训集中。
lightfm.cross_validation.random_火车_测试_拆分随机分裂相互作用。
这个ne4j示例是一个非常基本的教程,没有提到任何培训/测试分割。
https://datascience.stackexchange.com/questions/115920
复制相似问题