这是我在ds StackExchange上的第一篇文章,所以请温和一点,如果有什么不清楚的地方请告诉我:)
我有许多产品(>100万),我将所有购买的产品都保存在一个带有时间戳的DB中。(“采购数据”)
每种产品都有“内容特征”(如产品尺寸、产品安全等级等)。
“购买数据”如下所示:
\x\x{e76f}\{e76f}\x{e76f}\x{e76f}
其中每一行都是购买带有时间戳id的产品。
我的主要目标是获得明天最想要的产品,我将问题转化为第二天的需求预测,或者将每个产品标识和日划分为高需求或低需求),
在这些设置中,我遇到了两个主要问题:
例如:如果产品#1在周日3次购买,周三2次购买,则购买和需求数据如下:
“购买数据”fi(产品id)正在映射到内容特性i:
| time stamp | product id | content f 1 | ... | content f N | | Sunday 05:20 | 1 | f1(1) | ... | fn(1) | | Sunday 08:11 | 1 | f1(1) | ... | fn(1) | | Sunday 10:25 | 1 | f1(1) | ... | fn(1) | | Wednesday 08:10 | 1 | f1(1) | ... | fn(1) | | Wednesday 16:20 | 1 | f1(1) | ... | fn(1) |
“需求数据”:
| day | product id | content f 1 | ... | content f N | freq | | Sunday | 1 | f1(1) | ... | fn(1) | 3 | | Wednesday | 1 | f1(1) | ... | fn(1) | 2 | But if product #1 was not purchase at Monday there wouldn't be any row since there is no purchase data for this item at that timestamp.
由于有超过100万种产品,所以我希望避免创建0频率的行,
发布于 2019-02-19 13:38:04
欢迎来到现场。我鼓励你以不同的方式思考你的问题。你关注的是“今天卖了什么”,而你应该关注的是“谁在历史上买了什么”。
您要寻找的是一种推荐系统,通常有两种类型:
我将假设您没有关于您的客户的信息,所以让我们关注基于内容的推荐人。考虑产品的属性是正确的,但您应该同时考虑它们(1)比昨天更长的时间,以及(2)产品和它们的属性是如何相互关联的。需要属性X的人也可能需要属性Y,也就是(很可能)跨越多个产品,并将对这些产品产生更高的需求。
在您选择的语言/工具中开始研究基于内容的推荐系统,最终您将得到所需的算法。在那里,您还可以考虑用户数据收集,然后进入一个基于社区的长期推荐。
https://datascience.stackexchange.com/questions/45807
复制相似问题