R 特定日期后购买的产品分析

R 特定日期后购买的产品分析,r,sequence,arules,R,Sequence,Arules,我一直在尝试对一段时间后购买的产品进行序列分析,例如客户在7天后购买的产品组合以及购买此类组合的客户比例,我尝试了arulesSequence软件包,但我的数据结构与软件包不符,我在列中有用户id、购买日期、产品id和产品名称,我搜索了很多,但没有明确的方法 Dayy UID leaf_category_name leaf_category_id 5/1/2018 47 Cubes 38860 5/1/2018 2

我一直在尝试对一段时间后购买的产品进行序列分析,例如客户在7天后购买的产品组合以及购买此类组合的客户比例,我尝试了arulesSequence软件包,但我的数据结构与软件包不符,我在列中有用户id、购买日期、产品id和产品名称,我搜索了很多,但没有明确的方法

Dayy        UID         leaf_category_name  leaf_category_id
5/1/2018    47      Cubes               38860
5/1/2018    272     Pastas & Noodles    34616
5/1/2018    1827    Flavours & Spices   34619
5/1/2018    3505    Feature Phones      1506
这是我拥有的数据类型,UID代表用户id,leaf category是用简单的术语购买的产品。 我有2049278行的巨大数据集

我试过的代码-

library(Matrix)
library(arules)
library(arulesSequences)

library(arulesViz)

#splitting data into transactions
transactions <- as(split(data$leaf_category_id, data$UID), "transactions")

frequent_sequences <- cspade(transactions, parameter=list(support=0.5))
我想看看特定日期后购买产品的顺序。 有人能帮我吗

谢谢

路径很好,但是,没有您的数据,我们可以使用著名的数据集作为示例,例如杂货店(在您的情况下,您可以在所需数据之后再对数据进行子集):

然后您可以看到关联规则:

association <- apriori (Groceries, parameter = list(supp = 0.001, conf = 0.5)) 
inspect(head(association_conf))


  lhs                                           rhs                support     confidence lift     count
[1] {rice,sugar}                               => {whole milk}       0.001220132 1          3.913649 12   
[2] {canned fish,hygiene articles}             => {whole milk}       0.001118454 1          3.913649 11   
[3] {root vegetables,butter,rice}              => {whole milk}       0.001016777 1          3.913649 10   
[4] {root vegetables,whipped/sour cream,flour} => {whole milk}       0.001728521 1          3.913649 17   
[5] {butter,soft cheese,domestic eggs}         => {whole milk}       0.001016777 1          3.913649 10   
[6] {citrus fruit,root vegetables,soft cheese} => {other vegetables} 0.001016777 1          5.168156 10   
association{全脂牛奶}0.001220132 1 3.913649 12
[2] {鱼罐头,卫生用品}=>{全脂牛奶}0.001118454 1 3.913649 11
[3] {根类蔬菜、黄油、大米}=>{全脂牛奶}0.001016777 1 3.913649 10
[4] {根类蔬菜、生奶油/酸奶油、面粉}=>{全脂牛奶}0.001728521 1 3.913649 17
[5] {黄油、软奶酪、家庭鸡蛋}=>{全脂牛奶}0.001016777 1 3.913649 10
[6] {柑橘类水果、根类蔬菜、软奶酪}=>{其他蔬菜}0.001016777 1 5.168156 10
您可以在最后一列中看到计数,每个规则显示了多少次:可以将其读取为“多少行”,如果每行是客户,则为客户数。但是,如果您想要例如计数=4或计数3(伪代码),您必须考虑您对多少客户意味着什么。在这种情况下,您必须评估您的数据。
编辑

最后,您可以看一看,正如您所说,还有cspade算法可以帮助您。

请分享您的数据示例和您尝试过的代码。请看这里的更多信息,这个问题的重点不够。没有数据。没有密码。没有算法@董:谢谢你的建议,我已经编辑了所需的内容。谢谢你的回答,但我已经做了你分享的分析,arules给出了一起购买的产品,不考虑时间间隔,在完成了apriori算法后,我还想查看特定时间范围内的产品组合,例如,如果我今天购买手机,我可能会在一周后购买手机套,我正在寻找这样的产品分析,这些产品可以在特定的购买时间段后上市。您可以按特定日期(从2018年1月1日到2018年1月8日)对数据进行子集,在每个子集的时间为每个客户创建“篮子”,然后对每个子集应用apriori,或者你认为这不是一种正确的方法吗?我想对每周的数据进行分析,我有4个月的交易,如果我有7天的子集,它会给我很多小子集,总体上可能是错误的,我有没有办法使用像arulesSequence这样的软件包,它可以一次应用于整个数据?使用
lubridate()
软件包,您可以使用函数
week()
每周自动执行。但是我不明白你说的“总体”是什么意思,如果你每周都需要分析,我想可以跳过整个分析。最后不是,我只能建议你每周应用apriori。我的意思是,我的全部数据是,应用你的数据子集的想法,假设第一周我购买的大米和糖的组合是0.05信心,第二周我获得的组合是0.6信心,依此类推,但最后我必须展示我分析的综合结果,然后我将如何准确地展示结果,比如我会以0.05的置信度说,我可以说它们是一起购买的,还是以0.6的置信度?所以,我一直在寻找一种算法,它可以让我在所有的周内购买的产品组合都有信心、支持和提升。
library(arules)
data(Groceries)

# here you can see the product with the biggest support
frequentproducts <- eclat (Groceries, parameter = list(supp = 0.07, maxlen = 15)) 
inspect(frequentItems)
     items                         support    count
[1]  {other vegetables,whole milk} 0.07483477  736 
[2]  {whole milk}                  0.25551601 2513 
[3]  {other vegetables}            0.19349263 1903 
[4]  {rolls/buns}                  0.18393493 1809 
[5]  {yogurt}                      0.13950178 1372 
[6]  {soda}                        0.17437722 1715 
[7]  {root vegetables}             0.10899847 1072 
[8]  {tropical fruit}              0.10493137 1032 
[9]  {bottled water}               0.11052364 1087 
[10] {sausage}                     0.09395018  924 
[11] {shopping bags}               0.09852567  969 
[12] {citrus fruit}                0.08276563  814 
[13] {pastry}                      0.08896797  875 
[14] {pip fruit}                   0.07564820  744 
[15] {whipped/sour cream}          0.07168277  705 
[16] {fruit/vegetable juice}       0.07229283  711 
[17] {newspapers}                  0.07981698  785 
[18] {bottled beer}                0.08052872  792 
[19] {canned beer}                 0.07768175  764 
itemFrequencyPlot(Groceries, topN=5, type="absolute")
association <- apriori (Groceries, parameter = list(supp = 0.001, conf = 0.5)) 
inspect(head(association_conf))


  lhs                                           rhs                support     confidence lift     count
[1] {rice,sugar}                               => {whole milk}       0.001220132 1          3.913649 12   
[2] {canned fish,hygiene articles}             => {whole milk}       0.001118454 1          3.913649 11   
[3] {root vegetables,butter,rice}              => {whole milk}       0.001016777 1          3.913649 10   
[4] {root vegetables,whipped/sour cream,flour} => {whole milk}       0.001728521 1          3.913649 17   
[5] {butter,soft cheese,domestic eggs}         => {whole milk}       0.001016777 1          3.913649 10   
[6] {citrus fruit,root vegetables,soft cheese} => {other vegetables} 0.001016777 1          5.168156 10