使用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?
答案 0 :(得分:0)
lhs =左手侧,rhs =右手侧
读作lhs => rhs
。
{0} => {1}
表示:如果交易包含0
,则其中某处也有1
。
但是,由于您尚未正确预处理数据,因此结果毫无意义。您的数据对我来说肯定不像basket
输入格式。