0

我使用这个示例数据集在 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} -> {Beer}。

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
4

1 回答 1

0

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

当您有篮子形式的数据框时,将其转换为交易

trans = read.transactions("data/rules_samp.csv", format = "basket", sep=",");
于 2015-05-17T08:22:56.587 回答