資料說明

1.模擬Walmart資料

2.Beer and Diaper

#install.packages("rmarkdown")

[資料設定與準備]

setwd("/home/m600/Working Area/Rdata Practice/Customer Course/Beer")

#install.packages("arules")

library(arules)
beer=read.csv("./beer.csv",header=T,sep=",")

[Part 1].Data-ETL

1-1.資料轉置與建立規則

beer=as.matrix(beer)
rule=apriori(beer,parameter=list(supp=0.2,conf=0.8,maxlen=5)) ##default=0.1, 0.8, 10
## Apriori
## 
## Parameter specification:
##  confidence minval smax arem  aval originalSupport support minlen maxlen
##         0.8    0.1    1 none FALSE            TRUE     0.2      1      5
##  target   ext
##   rules FALSE
## 
## Algorithmic control:
##  filter tree heap memopt load sort verbose
##     0.1 TRUE TRUE  FALSE TRUE    2    TRUE
## 
## Absolute minimum support count: 1 
## 
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[6 item(s), 5 transaction(s)] done [0.00s].
## sorting and recoding items ... [6 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 done [0.00s].
## writing ... [31 rule(s)] done [0.00s].
## creating S4 object  ... done [0.00s].

1-2.資料呈現

inspect(rule) 
##    lhs                    rhs      support confidence lift    
## 1  {}                  => {Milk}   0.8     0.8        1.000000
## 2  {}                  => {Bread}  0.8     0.8        1.000000
## 3  {}                  => {Diaper} 0.8     0.8        1.000000
## 4  {Egg}               => {Beer}   0.2     1.0        1.666667
## 5  {Egg}               => {Bread}  0.2     1.0        1.250000
## 6  {Egg}               => {Diaper} 0.2     1.0        1.250000
## 7  {Coke}              => {Milk}   0.4     1.0        1.250000
## 8  {Coke}              => {Diaper} 0.4     1.0        1.250000
## 9  {Beer}              => {Diaper} 0.6     1.0        1.250000
## 10 {Beer,Egg}          => {Bread}  0.2     1.0        1.250000
## 11 {Bread,Egg}         => {Beer}   0.2     1.0        1.666667
## 12 {Beer,Egg}          => {Diaper} 0.2     1.0        1.250000
## 13 {Diaper,Egg}        => {Beer}   0.2     1.0        1.666667
## 14 {Bread,Egg}         => {Diaper} 0.2     1.0        1.250000
## 15 {Diaper,Egg}        => {Bread}  0.2     1.0        1.250000
## 16 {Beer,Coke}         => {Milk}   0.2     1.0        1.250000
## 17 {Beer,Coke}         => {Diaper} 0.2     1.0        1.250000
## 18 {Bread,Coke}        => {Milk}   0.2     1.0        1.250000
## 19 {Milk,Coke}         => {Diaper} 0.4     1.0        1.250000
## 20 {Diaper,Coke}       => {Milk}   0.4     1.0        1.250000
## 21 {Bread,Coke}        => {Diaper} 0.2     1.0        1.250000
## 22 {Milk,Beer}         => {Diaper} 0.4     1.0        1.250000
## 23 {Bread,Beer}        => {Diaper} 0.4     1.0        1.250000
## 24 {Bread,Beer,Egg}    => {Diaper} 0.2     1.0        1.250000
## 25 {Diaper,Beer,Egg}   => {Bread}  0.2     1.0        1.250000
## 26 {Bread,Diaper,Egg}  => {Beer}   0.2     1.0        1.666667
## 27 {Milk,Beer,Coke}    => {Diaper} 0.2     1.0        1.250000
## 28 {Diaper,Beer,Coke}  => {Milk}   0.2     1.0        1.250000
## 29 {Bread,Milk,Coke}   => {Diaper} 0.2     1.0        1.250000
## 30 {Bread,Diaper,Coke} => {Milk}   0.2     1.0        1.250000
## 31 {Bread,Milk,Beer}   => {Diaper} 0.2     1.0        1.250000
summary(rule)
## set of 31 rules
## 
## rule length distribution (lhs + rhs):sizes
##  1  2  3  4 
##  3  6 14  8 
## 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   2.000   3.000   2.871   3.500   4.000 
## 
## summary of quality measures:
##     support         confidence          lift      
##  Min.   :0.2000   Min.   :0.8000   Min.   :1.000  
##  1st Qu.:0.2000   1st Qu.:1.0000   1st Qu.:1.250  
##  Median :0.2000   Median :1.0000   Median :1.250  
##  Mean   :0.3097   Mean   :0.9806   Mean   :1.280  
##  3rd Qu.:0.4000   3rd Qu.:1.0000   3rd Qu.:1.250  
##  Max.   :0.8000   Max.   :1.0000   Max.   :1.667  
## 
## mining info:
##  data ntransactions support confidence
##  beer             5     0.2        0.8
inspect(head(sort(rule,by="support"),10)) 
##    lhs              rhs      support confidence lift
## 1  {}            => {Milk}   0.8     0.8        1.00
## 2  {}            => {Bread}  0.8     0.8        1.00
## 3  {}            => {Diaper} 0.8     0.8        1.00
## 9  {Beer}        => {Diaper} 0.6     1.0        1.25
## 7  {Coke}        => {Milk}   0.4     1.0        1.25
## 8  {Coke}        => {Diaper} 0.4     1.0        1.25
## 19 {Milk,Coke}   => {Diaper} 0.4     1.0        1.25
## 20 {Diaper,Coke} => {Milk}   0.4     1.0        1.25
## 22 {Milk,Beer}   => {Diaper} 0.4     1.0        1.25
## 23 {Bread,Beer}  => {Diaper} 0.4     1.0        1.25