2013-05-06 6 views
0

arules 패키지를 사용하면 'apriori'가 'rules'객체를 반환합니다.규칙에서 생성 된 항목의 ColumnName/속성을 알 수있는 방법

우리가 어떻게 쿼리를 작성할 수 있습니까? {lhs, rhs} 규칙의 항목이 정확한 열은 무엇입니까?

예 :

내가 파일 "input.csv"에 표 방식으로 일부 데이터를했습니다 및/연결 파일의 열 머리글로 반환 된 규칙 itemsets을 해석하고 싶다. 내가 어떻게 그럴 수 있니?

모든 포인터가 감사하겠습니다. 감사합니다,



재현 예 : 연역적에
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 

전화 :

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")) 

반환 결과 :

,451,515,
> 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} 수단 , 차원 "GHI"에서 0의 값이 "JKL"1의 값을 의미하거나 그 반대?

그래서 규칙 개체에 반환되는 항목 집합 값의 열 이름/ID를 얻을 수있는 방법이 있습니까?

+2

작은 예제를 게시 할 수 있습니까? –

+0

@ RomanLuštrik : 작은 예제를 추가했습니다. 관심을 가져 주셔서 감사합니다. – srbhkmr

+0

@ SimonO101 : 고마워, 내가 실행중인 코드를 추가했다. 'items' 클래스에 어떤 메소드도 찾을 수 없습니다.이 메소드는이 itemset 값이 속한 컬럼 이름/id를 돌려줍니다. – srbhkmr

답변

0

좌는 = 왼쪽 손 사이드는, 우측은 = 오른손 사이드

lhs => rhs로 읽을 수합니다.

{0} => {1} 의미 : 트랜잭션에 0이 포함되어 있으면 1 어딘가에 있습니다.

그러나 데이터를 적절히 전처리하지 않은 경우 결과는 의미가 없습니다. 데이터가 분명히 basket 입력 형식으로 보이지 않습니다.

+0

좀 더 자세히 설명해 주시겠습니까, 어떤 종류의 전처리를 제가 놓쳤습니까? 왜 바구니 입력 형식이 적절하지 않습니까? 감사, – srbhkmr

+0

'R' 예제를보세요. AFAICT, 입력 형식은 고객이이 세 가지 항목을 구입 한 경우 "스파게티, 토마토, 바질"을 한 줄로 읽는 것입니다. 그 외에는 아무것도 구입하지 않은 경우 "ToiletPaper"... 고객이 모두 6 품목을 구입 했습니까? 그리고 항목 "0"이 왜 그렇게 인기가 있습니까? –