2013-05-06 39 views
0

使用arules包,'apriori'返回'規則'對象。我們如何知道規則中生成的項目的ColumnName /屬性

我們如何進行查詢 - 規則{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 

現在,我要做出的發言權項目之間的區別,排除13號

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

{0} => {1}手段,0在尺寸"GHI"值在"JKL"意味着1值或反之亦然 ?

所以,有沒有一種方法,我們可以得到在規則對象中返回的項集的值的列名/ ID?

+2

你能發表一個小例子嗎? – 2013-05-06 12:47:43

+0

@RomanLuštrik:我已經添加了一個小例子。感謝您的關注。 – srbhkmr 2013-05-06 12:58:23

+0

@ SimonO101:謝謝,我添加了正在執行的代碼。我無法在'rules'類中找到任何方法,這些方法讓我回到這些項集值所屬的列名/ id。 – srbhkmr 2013-05-06 13:12:43

回答

0

LHS =左手邊,RHS =右手邊

將被解讀爲lhs => rhs

{0} => {1}表示:如果交易包含0,它也有一個1的地方。

但是,由於你沒有適當地預處理你的數據,結果是沒有意義的。你的數據絕對不像我的basket輸入格式。

+0

請您詳細說一下,我錯過了什麼樣的預處理?或爲什麼它不是一個合適的籃子輸入格式?謝謝, – srbhkmr 2013-05-07 09:43:13

+0

看看'R'的例子。 AFAICT的輸入格式是:如果顧客購買了這三種商品,則可以單行閱讀「意大利麪條,西紅柿,羅勒」;如果他只買了這些商品,則爲「ToiletPaper」......您的顧客是否購買了6件商品,爲什麼項目「0」如此受歡迎? – 2013-05-07 12:44:35

相關問題