packages = c(
"dplyr","ggplot2","googleVis","devtools","magrittr","slam","irlba","plotly",
"arules","arulesViz","Matrix","recommenderlab")
existing = as.character(installed.packages()[,1])
for(pkg in packages[!(packages %in% existing)]) install.packages(pkg)
rm(list=ls(all=TRUE))
LOAD = FALSE
library(dplyr)
library(ggplot2)
library(googleVis)
library(Matrix)
library(slam)
library(irlba)
library(plotly)
library(arules)
library(arulesViz)
library(recommenderlab)
A. 檢視資料-敘述性統計
data(Groceries) # grocery transactions object from arules package
str(Groceries)
## Formal class 'transactions' [package "arules"] with 3 slots
## ..@ data :Formal class 'ngCMatrix' [package "Matrix"] with 5 slots
## .. .. ..@ i : int [1:43367] 13 60 69 78 14 29 98 24 15 29 ...
## .. .. ..@ p : int [1:9836] 0 4 7 8 12 16 21 22 27 28 ...
## .. .. ..@ Dim : int [1:2] 169 9835
## .. .. ..@ Dimnames:List of 2
## .. .. .. ..$ : NULL
## .. .. .. ..$ : NULL
## .. .. ..@ factors : list()
## ..@ itemInfo :'data.frame': 169 obs. of 3 variables:
## .. ..$ labels: chr [1:169] "frankfurter" "sausage" "liver loaf" "ham" ...
## .. ..$ level2: Factor w/ 55 levels "baby food","bags",..: 44 44 44 44 44 44 44 42 42 41 ...
## .. ..$ level1: Factor w/ 10 levels "canned food",..: 6 6 6 6 6 6 6 6 6 6 ...
## ..@ itemsetInfo:'data.frame': 0 obs. of 0 variables
summary(Groceries)
## transactions as itemMatrix in sparse format with
## 9835 rows (elements/itemsets/transactions) and
## 169 columns (items) and a density of 0.02609146
##
## most frequent items:
## whole milk other vegetables rolls/buns soda
## 2513 1903 1809 1715
## yogurt (Other)
## 1372 34055
##
## element (itemset/transaction) length distribution:
## sizes
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
## 2159 1643 1299 1005 855 645 545 438 350 246 182 117 78 77 55
## 16 17 18 19 20 21 22 23 24 26 27 28 29 32
## 46 29 14 14 9 11 4 6 1 1 1 1 3 1
##
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 3.000 4.409 6.000 32.000
##
## includes extended item information - examples:
## labels level2 level1
## 1 frankfurter sausage meat and sausage
## 2 sausage sausage meat and sausage
## 3 liver loaf sausage meat and sausage
# show the dimensions of the transactions object
print(dim(Groceries))
## [1] 9835 169
print(dim(Groceries)[1]) # 9835 筆交易資料
## [1] 9835
print(dim(Groceries)[2]) # 169 項產品
## [1] 169
inspect(Groceries[1:5]) # 檢視前面五項交易
## items
## [1] {citrus fruit,
## semi-finished bread,
## margarine,
## ready soups}
## [2] {tropical fruit,
## yogurt,
## coffee}
## [3] {whole milk}
## [4] {pip fruit,
## yogurt,
## cream cheese ,
## meat spreads}
## [5] {other vegetables,
## whole milk,
## condensed milk,
## long life bakery product}
# examine frequency for each item with support greater than 0.025
pdf(file="fig_market_basket_initial_item_support.pdf",
width = 8.5, height = 11)
itemFrequencyPlot(Groceries, topN=20, type="absolute",col = "dark red", cex=0.8)
image(Groceries[1:10])
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAAAaVBMVEUAAAAAADoAAGYAOmYAOpAAZrY6AAA6Ojo6OpA6kNtVVVVmAABmAGZmOgBmOpBmtrZmtv+QOgCQZgCQkNuQ29uQ2/+2ZgC2Zma225C2/7a2///bkDrb/9vb////tmb/25D//7b//9v///9Yb5tYAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAd+0lEQVR4nO3dbYPaVmKGYbK7cdf1buu0DbtdGsbJ//+RRSBA6A3xjABxuK4vdhzPDGjkeySdo6PVHwBEVs9+AQCvSkABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCA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rMt7S0D7X5FReLoElBl0pjFtVq3wjARsfSpTO6DNqZeb5vn9dnW6VNA7D7T6nD8fP+XtR6C9r8g8ULr6AtrHvfCMaAZ0/5v9brTvzXp1nEg/No3p5/q/L396N+8/P98v1Dyzbt6JVE+K33/yY2639RjW7dOYOq/InUh0CSgzOAX0MPz+/Xxb/HEYZtI0pvZ+dvFghMs98/wpLv7kGNDzn//nt89MY1o1T+YNwtMmoMzgVJfDceLlTKav9d8YDOh5NY/2Md7m4k8aWTsdqPavxnQO+NcfSUB7XpFLoPRwDZQZnA/P9uk57EGbZurGR+HrDHauMbbXkNu08lnpWw+0sj7kLwpozytaO4igS0BZsvVSzpt/WJGeHgLKkp2fifRkFqSnj4CyaAt5nrADUHoJKIu22x+XcAi6kI6zNALKsn18WcC588cXc0DpI6As3Ob5O+TvvyziMJjlEVCAkGciAYQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoAAhAQUICShASEABQgIKEBJQgJCAAoQEFCAkoACh/wcfjKOMLZuw0gAAAABJRU5ErkJggg==)
warnings()
## NULL
image(sample(Groceries, 100))
![](data:image/png;base64,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)
# explore possibilities for combining similar items
df = itemInfo(Groceries)
str(df) # levels 10, 55
## 'data.frame': 169 obs. of 3 variables:
## $ labels: chr "frankfurter" "sausage" "liver loaf" "ham" ...
## $ level2: Factor w/ 55 levels "baby food","bags",..: 44 44 44 44 44 44 44 42 42 41 ...
## $ level1: Factor w/ 10 levels "canned food",..: 6 6 6 6 6 6 6 6 6 6 ...
- 找出相似產品
- 有兩個levels,選擇適合的Level(10太少)
# aggregate items using the 55 level2 levels for food categories
# to create a more meaningful set of items
groceries <- aggregate(Groceries, itemInfo(Groceries)[["level2"]])
print(dim(groceries)[1]) # 9835 market baskets for shopping trips
## [1] 9835
print(dim(groceries)[2]) # 55 final store items (categories)
## [1] 55
itemFrequencyPlot(groceries, support = 0.025, cex.names=1.0, xlim = c(0,0.5), type = "relative", horiz = TRUE, col = "blue", las = 1, xlab = paste("Proportion of Market Baskets Containing Item", "\n(Item Relative Frequency or Support)"))
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAABwlBMVEUAAAAAAA0AABcAACAAACEAACgAACoAADEAADIAADoAAEkAAFgAAGYAAP8ADQAADVEAFwAAF2YAICEAIHsAIXwAKAAAKDoAKIEAKjoAMVEAMlEAMpAAOjoAOlgAOmYAOnsAOpAAOp0ASUkASbYAWGYAWLYAZmYAZoEAZpAAZpwAZrYNAAANUXsNUbwXAAAgAAAgIQAge9shAAAhfNsoAAAokNsqAAAqOgAxAAAxkNsyAAA6AAA6KgA6OgA6Zlg6ZmY6Zts6e3w6kJA6kJw6kJ06kLY6kLw6kNs6nP9JAABJSQBRMQBRMgBYAABmAABmFwBmOgBmWABmZjpmZmZmgUlmkJBmnJBmtoFmtrZmtttmtv9m2/97fDp72/98IQB8OgCBKACBZgCQKACQKgCQMQCQMgCQOgCQZgCQkDqQkGaQkNuQnGaQnWaQtpCQvJCQ27aQ29uQ2/+cOgCcZgCc//+dkDq2SQC2WAC2ZgC2tma225C2/7a2/9u2//+8///beyDbfCHbkCjbkDrbtmbb25Db/7bb/9vb////nDr/nTr/tkn/tlj/tmb/vFH/22b/23z/25D//4H//5z//7b//9v///8AZ9wVAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nO29/6MsyXmfNVGw4caLIVghIVnIJjhr+ZgICEqIc1FEFuSDDLnBmIA4ARIwuUICxxIYPJGzQEaWltiDueHe8/8y3VVv1Vv1VndX13zr7vM8P+ye09NdXTOn5rnVXVWf3j0DAEATu3tXAABgrSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoAAAjSBQAIBGECgAQCMIFACgEQQKANAIAgUAaASBAgA0gkABABpBoC+AD293H31+70oAbBAE+gK4tEB3Z3HBigDcGZrzC+CyAj1PnwgUtgTNGWay2/3zZ4BAYUvQnGEmCBRAoDnDTBAogEBz3hD73asf9D+8fyM/vXu9e5B7oO5/h+4+5CdfhIOO/Y3Jp/qzIFAAgea8IQ4iwmNQYr9JCfSHr/1QjjfmO/m9fpQJgQIINOcN0Xc3O7peZv+TU2cUaMT1UIM/ZxgUgQIINOcNIdOVelP2V+mna/mH51SgXdezE+yj37E36VGMWwECBRBozlvi4HR40uavBzE+JQL1/cyD8+Ux3A2Nd00nQaAAAs15S5yuyLuO5bG/19l1Nd2wkhLoY9ixM+c+WvMYXpsCgQIINOct4a7YT1785Mdy7d55MgpUfOkEeto9DMeH+6eTIFAAgea8KfZ+zOixk+gX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)
B. 關聯規則
- support : A品項被購買的基礎機率
- confidence : A品項被購買時B被購買的機率
- lift : A品項被購買時,B被購買所增加機率的倍數
- count : 交易筆數(交易筆數如果太少,分析就沒有實質意義)
#我們必須設定 support 和 confidence 的標準
#我們先用比較低的標準
first.rules <- apriori(groceries,
parameter = list(support = 0.001, confidence = 0.05))
## Apriori
##
## Parameter specification:
## confidence minval smax arem aval originalSupport maxtime support minlen
## 0.05 0.1 1 none FALSE TRUE 5 0.001 1
## maxlen target ext
## 10 rules FALSE
##
## Algorithmic control:
## filter tree heap memopt load sort verbose
## 0.1 TRUE TRUE FALSE TRUE 2 TRUE
##
## Absolute minimum support count: 9
##
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[55 item(s), 9835 transaction(s)] done [0.00s].
## sorting and recoding items ... [54 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 5 6 7 8 done [0.02s].
## writing ... [69921 rule(s)] done [0.02s].
## creating S4 object ... done [0.03s].
print(summary(first.rules))
## set of 69921 rules
##
## rule length distribution (lhs + rhs):sizes
## 1 2 3 4 5 6 7 8
## 21 1205 10467 23895 22560 9888 1813 72
##
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 4.000 4.000 4.502 5.000 8.000
##
## summary of quality measures:
## support confidence lift count
## Min. :0.001017 Min. :0.0500 Min. : 0.4475 Min. : 10.00
## 1st Qu.:0.001118 1st Qu.:0.2110 1st Qu.: 1.8315 1st Qu.: 11.00
## Median :0.001525 Median :0.4231 Median : 2.2573 Median : 15.00
## Mean :0.002488 Mean :0.4364 Mean : 2.5382 Mean : 24.47
## 3rd Qu.:0.002339 3rd Qu.:0.6269 3rd Qu.: 2.9662 3rd Qu.: 23.00
## Max. :0.443010 Max. :1.0000 Max. :16.1760 Max. :4357.00
##
## mining info:
## data ntransactions support confidence
## groceries 9835 0.001 0.05
second.rules <- apriori(groceries,
parameter = list(support = 0.025, confidence = 0.05))
## Apriori
##
## Parameter specification:
## confidence minval smax arem aval originalSupport maxtime support minlen
## 0.05 0.1 1 none FALSE TRUE 5 0.025 1
## maxlen target ext
## 10 rules FALSE
##
## Algorithmic control:
## filter tree heap memopt load sort verbose
## 0.1 TRUE TRUE FALSE TRUE 2 TRUE
##
## Absolute minimum support count: 245
##
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[55 item(s), 9835 transaction(s)] done [0.00s].
## sorting and recoding items ... [32 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 done [0.00s].
## writing ... [344 rule(s)] done [0.00s].
## creating S4 object ... done [0.00s].
print(summary(second.rules))
## set of 344 rules
##
## rule length distribution (lhs + rhs):sizes
## 1 2 3 4
## 21 162 129 32
##
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 2.0 2.0 2.5 3.0 4.0
##
## summary of quality measures:
## support confidence lift count
## Min. :0.02542 Min. :0.05043 Min. :0.6669 Min. : 250.0
## 1st Qu.:0.03030 1st Qu.:0.18202 1st Qu.:1.2498 1st Qu.: 298.0
## Median :0.03854 Median :0.39522 Median :1.4770 Median : 379.0
## Mean :0.05276 Mean :0.37658 Mean :1.4831 Mean : 518.9
## 3rd Qu.:0.05236 3rd Qu.:0.51271 3rd Qu.:1.7094 3rd Qu.: 515.0
## Max. :0.44301 Max. :0.79841 Max. :2.4073 Max. :4357.0
##
## mining info:
## data ntransactions support confidence
## groceries 9835 0.025 0.05
# 互動式圖形
plot(second.rules,colors=c("red","green"),engine="htmlwidget",
marker=list(opacity=.6,size=8))
## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter.
## Warning: package 'bindrcpp' was built under R version 3.4.4
# 檢視前面10條關聯規則
inspect(second.rules[1:10])
## lhs rhs support confidence lift count
## [1] {} => {poultry} 0.05043213 0.05043213 1 496
## [2] {} => {pork} 0.05765125 0.05765125 1 567
## [3] {} => {staple foods} 0.05063549 0.05063549 1 498
## [4] {} => {coffee} 0.06487036 0.06487036 1 638
## [5] {} => {eggs} 0.06344687 0.06344687 1 624
## [6] {} => {games/books/hobby} 0.08856126 0.08856126 1 871
## [7] {} => {long-life bakery products} 0.08327402 0.08327402 1 819
## [8] {} => {perfumery} 0.07920691 0.07920691 1 779
## [9] {} => {beef} 0.08195221 0.08195221 1 806
## [10] {} => {bags} 0.09893238 0.09893238 1 973
- 產生 344 條規則,差不多….比較容易檢視及選擇
- 利用圖形,我們很快地可以練習看圖說故事的能力
- 互動式圖形,可以幫助我們改善修正我們要的標準,ex:zoom in 某一區域
plot(second.rules,method="matrix",shading="lift",engine="htmlwidget",
colors=c("red", "green"))
+ 同一個水平軸上和同一個垂直軸上皆是同一項產品 + 這樣的互動式圖形可以幫助我們在選擇產品上,找出不同的關聯規則
inspect(sort(second.rules, by = "lift")[1:5])
## lhs rhs support confidence
## [1] {bread and backed goods,cheese} => {sausage} 0.02897814 0.4552716
## [2] {dairy produce,sausage} => {cheese} 0.03111337 0.2897727
## [3] {beef,dairy produce} => {vegetables} 0.02989324 0.6074380
## [4] {bread and backed goods,sausage} => {cheese} 0.02897814 0.2796860
## [5] {bread and backed goods,fruit} => {cheese} 0.02958821 0.2750473
## lift count
## [1] 2.407310 285
## [2] 2.287251 306
## [3] 2.225010 294
## [4] 2.207634 285
## [5] 2.171019 291
- 我們也可以查看前5個最高的Lift的規則有哪些
- lhs(left-hand side)
- rhs(right-hand side)
C. 篩選產品- 以蔬菜產品為例
# select rules with vegetables in consequent (right-hand-side) item subsets
vegie.rules <- subset(second.rules, subset = rhs %pin% "vegetables")
inspect(vegie.rules)
## lhs rhs support confidence lift count
## [1] {} => {vegetables} 0.27300458 0.2730046 1.0000000 2685
## [2] {poultry} => {vegetables} 0.02897814 0.5745968 2.1047148 285
## [3] {pork} => {vegetables} 0.03009659 0.5220459 1.9122238 296
## [4] {staple foods} => {vegetables} 0.02613116 0.5160643 1.8903136 257
## [5] {eggs} => {vegetables} 0.03141840 0.4951923 1.8138608 309
## [6] {games/books/hobby} => {vegetables} 0.02785968 0.3145809 1.1522918 274
## [7] {long-life bakery products} => {vegetables} 0.02907982 0.3492063 1.2791227 286
## [8] {perfumery} => {vegetables} 0.03213015 0.4056483 1.4858662 316
## [9] {beef} => {vegetables} 0.04585663 0.5595533 2.0496116 451
## [10] {bags} => {vegetables} 0.03141840 0.3175745 1.1632571 309
## [11] {vinegar/oils} => {vegetables} 0.04199288 0.4666667 1.7093731 413
## [12] {chocolate} => {vegetables} 0.03192679 0.2934579 1.0749195 314
## [13] {beer} => {vegetables} 0.03406202 0.2189542 0.8020168 335
## [14] {frozen foods} => {vegetables} 0.04738180 0.4052174 1.4842879 466
## [15] {cheese} => {vegetables} 0.05531266 0.4365971 1.5992300 544
## [16] {sausage} => {vegetables} 0.07625826 0.4032258 1.4769929 750
## [17] {fruit} => {vegetables} 0.10706660 0.4297959 1.5743176 1053
## [18] {non-alc. drinks} => {vegetables} 0.09456024 0.2974097 1.0893944 930
## [19] {bread and backed goods} => {vegetables} 0.11621759 0.3363743 1.2321198 1143
## [20] {dairy produce} => {vegetables} 0.17041179 0.3846683 1.4090180 1676
## [21] {beef,
## dairy produce} => {vegetables} 0.02989324 0.6074380 2.2250104 294
## [22] {dairy produce,
## vinegar/oils} => {vegetables} 0.03141840 0.5355286 1.9616103 309
## [23] {dairy produce,
## frozen foods} => {vegetables} 0.03436706 0.5121212 1.8758704 338
## [24] {cheese,
## fruit} => {vegetables} 0.02674123 0.5197628 1.9038613 263
## [25] {bread and backed goods,
## cheese} => {vegetables} 0.02887646 0.4536741 1.6617821 284
## [26] {cheese,
## dairy produce} => {vegetables} 0.04219624 0.4987981 1.8270686 415
## [27] {fruit,
## sausage} => {vegetables} 0.03426538 0.5290424 1.9378517 337
## [28] {non-alc. drinks,
## sausage} => {vegetables} 0.03029995 0.4156206 1.5223944 298
## [29] {bread and backed goods,
## sausage} => {vegetables} 0.04382308 0.4229637 1.5492916 431
## [30] {dairy produce,
## sausage} => {vegetables} 0.05266904 0.4905303 1.7967842 518
## [31] {fruit,
## non-alc. drinks} => {vegetables} 0.04361973 0.4657980 1.7061914 429
## [32] {bread and backed goods,
## fruit} => {vegetables} 0.05124555 0.4763705 1.7449177 504
## [33] {dairy produce,
## fruit} => {vegetables} 0.07869853 0.5032510 1.8433793 774
## [34] {bread and backed goods,
## non-alc. drinks} => {vegetables} 0.04636502 0.3731588 1.3668590 456
## [35] {dairy produce,
## non-alc. drinks} => {vegetables} 0.06446365 0.4243641 1.5544213 634
## [36] {bread and backed goods,
## dairy produce} => {vegetables} 0.08195221 0.4366197 1.5993128 806
## [37] {dairy produce,
## fruit,
## sausage} => {vegetables} 0.02714794 0.5741935 2.1032378 267
## [38] {bread and backed goods,
## dairy produce,
## sausage} => {vegetables} 0.03284189 0.5135135 1.8809704 323
## [39] {dairy produce,
## fruit,
## non-alc. drinks} => {vegetables} 0.03304525 0.5183413 1.8986543 325
## [40] {bread and backed goods,
## dairy produce,
## fruit} => {vegetables} 0.04077275 0.5276316 1.9326840 401
## [41] {bread and backed goods,
## dairy produce,
## non-alc. drinks} => {vegetables} 0.03345196 0.4627286 1.6949480 329
# sort by lift and identify the top 10 rules
top.vegie.rules <- head(sort(vegie.rules, decreasing = TRUE, by = "lift"), 10)
inspect(top.vegie.rules)
## lhs rhs support confidence lift count
## [1] {beef,
## dairy produce} => {vegetables} 0.02989324 0.6074380 2.225010 294
## [2] {poultry} => {vegetables} 0.02897814 0.5745968 2.104715 285
## [3] {dairy produce,
## fruit,
## sausage} => {vegetables} 0.02714794 0.5741935 2.103238 267
## [4] {beef} => {vegetables} 0.04585663 0.5595533 2.049612 451
## [5] {dairy produce,
## vinegar/oils} => {vegetables} 0.03141840 0.5355286 1.961610 309
## [6] {fruit,
## sausage} => {vegetables} 0.03426538 0.5290424 1.937852 337
## [7] {bread and backed goods,
## dairy produce,
## fruit} => {vegetables} 0.04077275 0.5276316 1.932684 401
## [8] {pork} => {vegetables} 0.03009659 0.5220459 1.912224 296
## [9] {cheese,
## fruit} => {vegetables} 0.02674123 0.5197628 1.903861 263
## [10] {dairy produce,
## fruit,
## non-alc. drinks} => {vegetables} 0.03304525 0.5183413 1.898654 325
- 41個rules
- 並且依照lift大小排序前10個關聯規則
- 藉由這樣的方法我們可以清楚知道哪些產品被購買之後,能夠增加蔬菜被購買所增加的機率的倍數是最高的
- 然而太高的lift其實是顯而易見,我們要找出的是“秘密”
plot(vegie.rules,method="graph",engine="htmlwidget",itemCol="cyan")
- 泡泡大小:support: A被購買的機率 (A的基礎機率)
- 泡泡顏色:lift: A被購買時,B被購買的機率增加的倍數 (與B的基礎機率相比)