我打算使用混合用户项协作过滤来构建一个Top推荐系统和TensorFlow Keras。
目前,我的数据文件由|user_id|article_id|purchase组成

购买总是真,因为数据集是用户购买商品的历史记录。
此数据集有80万行和3列。
2个问题
发布于 2022-03-05 12:35:04
因为您只有True值,这意味着您必须生成假值。您所知道的唯一错误是表中不存在的用户项交互。如果您已知的交互可以表示为稀疏矩阵(也就是说,可能的交互( N_ITEMS X N_USER )中的百分比很低),那么您可以这样做:
如果用户项交互存在,则interaction.
现在,要完成您的20%/80%的部分,只需定义从实际真实值(True values)中获取的样本的大小N,然后使用前面的步骤获取4*N的假值。记住为您的测试和评估步骤保留一些基本的真值。
在这种情况下,由于只有真实值在你的真实数据集中,我认为你能做的最好的是尝试不同的比率。您的真实世界数据只包含True值,但是您也可以生成所有的假值。需要考虑的重要部分是,在培训时,您将认为错误的一些值实际上可能是测试和验证数据中的真值。只是不要使用你所有的地面真相数据,也不要产生可能的组合的一个重要部分。
我认为一个好的开端可能是50/50,然后再试试60/40等等。使用多个指标进行评估,看看它们是如何根据真假值的比例变化的(一些比例可能更好地达到较高的真阳性率,而另一些则会更糟等等)。最后,您必须根据对您最重要的指标选择一个模型和一个培训过程。
https://stackoverflow.com/questions/71359291
复制相似问题