首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未为用户项协作筛选购买项目的Dataframe用户

未为用户项协作筛选购买项目的Dataframe用户
EN

Stack Overflow用户
提问于 2022-03-05 03:42:41
回答 1查看 54关注 0票数 -1

我打算使用混合用户项协作过滤来构建一个Top推荐系统和TensorFlow Keras。

目前,我的数据文件由|user_id|article_id|purchase组成

购买总是,因为数据集是用户购买商品的历史记录。

此数据集有80万行和3列。

2个问题

  1. 如何处理它,使我有20%的购买=真,80%的购买=假的训练模型?

  1. 是20%,80%正确:错误比率对这个用例很好?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-05 12:35:04

  1. 如何处理它,使我有20%的购买=真,80%的购买=假的训练模型?

因为您只有True值,这意味着您必须生成假值。您所知道的唯一错误是表中不存在的用户项交互。如果您已知的交互可以表示为稀疏矩阵(也就是说,可能的交互( N_ITEMS X N_USER )中的百分比很低),那么您可以这样做:

如果用户项交互存在,则interaction.

  • 生成一个随机的用户项组合

  • ,表示为True,然后重复步骤1.如果用户项交互不存在,则可以将其视为假

现在,要完成您的20%/80%的部分,只需定义从实际真实值(True values)中获取的样本的大小N,然后使用前面的步骤获取4*N的假值。记住为您的测试和评估步骤保留一些基本的真值。

  1. 是20%,80%正确:错误比率对这个用例很好?

在这种情况下,由于只有真实值在你的真实数据集中,我认为你能做的最好的是尝试不同的比率。您的真实世界数据只包含True值,但是您也可以生成所有的假值。需要考虑的重要部分是,在培训时,您将认为错误的一些值实际上可能是测试和验证数据中的真值。只是不要使用你所有的地面真相数据,也不要产生可能的组合的一个重要部分。

我认为一个好的开端可能是50/50,然后再试试60/40等等。使用多个指标进行评估,看看它们是如何根据真假值的比例变化的(一些比例可能更好地达到较高的真阳性率,而另一些则会更糟等等)。最后,您必须根据对您最重要的指标选择一个模型和一个培训过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71359291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档