R apriori()没有显示预期的输出

时间:2015-05-17 07:51:28

标签: r apriori market-basket-analysis

我使用此样本数据集在R中运行apriori函数。

Bread   Milk    
Bread   Diapers Beer    Eggs
Milk    Diapers Beer    Cola
Bread   Milk    Diapers Beer
Bread   Milk    Diapers Cola

正如我在此处所见,对规则{Milk,Diaper}的支持 - > {Beer}为0.4(2/5),置信度为2/3 0.67。

但是当我运行以下命令时,我得到的输出没有显示规则{Milk,Diaper} - > {啤酒}。

rules <- apriori(a, parameter = list(supp = 0.3, conf = 0.6))

我得到的输出如下。这里没有我看到预期的规则。我还看到了篮子项目以及V1,V2,它们是数据框的列名。

请看这里有什么问题。

> inspect(rules)
   lhs             rhs          support confidence lift
   1  {}           => {V2=Milk}        0.6       0.60  1.0
   2  {}           => {V1=Bread}       0.8       0.80  1.0
   3  {V2=Diapers} => {V3=Beer}        0.4       1.00  2.5
   4  {V3=Beer}    => {V2=Diapers}     0.4       1.00  2.5
   5  {V3=Diapers} => {V2=Milk}        0.4       1.00  1.7
   6  {V2=Milk}    => {V3=Diapers}     0.4       0.67  1.7
   7  {V3=Diapers} => {V1=Bread}       0.4       1.00  1.2
   8  {V2=Milk}    => {V1=Bread}       0.6       1.00  1.2
   9  {V1=Bread}   => {V2=Milk}        0.6       0.75  1.2
   10 {V2=Milk,                                           
       V3=Diapers} => {V1=Bread}       0.4       1.00  1.2
   11 {V1=Bread,                                          
       V3=Diapers} => {V2=Milk}        0.4       1.00  1.7
   12 {V1=Bread,                                          
       V2=Milk}    => {V3=Diapers}     0.4       0.67  1.7

1 个答案:

答案 0 :(得分:0)

apriori()将事务作为输入。由于我的输入是一个数据帧,我得到V1,V2和apriori似乎正在进行基于列位置的匹配。

如果您有一个篮子形式的数据框,请将其转换为带有

的交易
trans = read.transactions("data/rules_samp.csv", format = "basket", sep=",");