我们怎么知道Rules中生成的项的ColumnName /属性

时间:2013-05-06 12:46:32

标签: r data-mining apriori arules

使用arules包,' apriori'返回规则'对象

我们如何进行查询 - 规则{lhs,rhs}中的项目来自哪个精确列?

示例:

我在文件" input.csv"中以表格方式提供了一些数据。并希望将返回的规则项集与文件中的列标题相关联/解释。我怎么可能这样做?

任何指针都表示赞赏。 谢谢,



可重现的例子:
input.csv

ABC,DEF,GHI,JKL,MNO
11,56789,1,0,10
12,57685,0,0,10
11,56789,0,1,11
10,57689,1,0,12
11,56789,0,1,12
10,57685,1,0,12
10,57689,1,0,10
11,56789,0,1,12
11,56789,0,0,10
11,56789,0,0,10
11,56789,0,1,10
11,56789,0,0,10

致电Apriori:

transactions <- read.transactions("input.csv", format="basket", sep = ',', cols = NULL,  rm.duplicates = TRUE)
Rules <- apriori(transactions, parameter = list(supp = 0.45, conf = 0.50, target = "rules"))

返回结果:

> inspect(Rules)
   lhs        rhs       support confidence     lift
1  {}      => {11}    0.6153846  0.6153846 1.000000
2  {}      => {56789} 0.6153846  0.6153846 1.000000
3  {}      => {1}     0.6153846  0.6153846 1.000000
4  {}      => {10}    0.6923077  0.6923077 1.000000
5  {}      => {0}     0.9230769  0.9230769 1.000000
6  {11}    => {56789} 0.6153846  1.0000000 1.625000
7  {56789} => {11}    0.6153846  1.0000000 1.625000
8  {11}    => {0}     0.6153846  1.0000000 1.083333
9  {0}     => {11}    0.6153846  0.6666667 1.083333
10 {56789} => {0}     0.6153846  1.0000000 1.083333
11 {0}     => {56789} 0.6153846  0.6666667 1.083333
12 {1}     => {0}     0.6153846  1.0000000 1.083333
13 {0}     => {1}     0.6153846  0.6666667 1.083333
14 {10}    => {0}     0.6923077  1.0000000 1.083333
15 {0}     => {10}    0.6923077  0.7500000 1.083333
16 {11, 56789} => {0}     0.6153846  1.0000000 1.083333
17 {0, 11}    => {56789} 0.6153846  1.0000000 1.625000
18 {0, 56789} => {11}    0.6153846  1.0000000 1.625000

现在,我想区分说法规则No.13

13 {0} => {1} 0.6153846 0.6666667 1.083333

{0} => {1}表示维度0中的"GHI"值意味着1中的"JKL"值,反之亦然?

那么,有没有办法可以获得规则对象中返回的itemsets值的列名/ id?

1 个答案:

答案 0 :(得分:0)

lhs =左手侧,rhs =右手侧

读作lhs => rhs

{0} => {1}表示:如果交易包含0,则其中某处也有1

但是,由于您尚未正确预处理数据,因此结果毫无意义。您的数据对我来说肯定不像basket输入格式。