2015-05-17 49 views
0

我使用这个示例数据集在R中运行apriori函数。R apriori()没有显示预期的输出

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

正如我所看到的,对于规则{牛奶,尿布}的支持 - > {}啤酒为0.4(2/5)和置信度为2/3 0.67。

但是,当我运行下面的命令,我得到的输出不显示规则{牛奶,尿布} - > {啤酒}。

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 

回答

0

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

当你在篮下的形式的数据帧转换成一个交易与

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