library(tidyverse)
library(arulesViz)
library(lubridate)
library(arules)
library(RColorBrewer)
library(stringr)
library(tidyr)
Data sourced from Kaggle https://www.kaggle.com/heeraldedhia/groceries-dataset?select=Groceries_dataset.csv
Association rules
\(Rule: X \implies Y\)
\[Support = \frac{freq(X, Y)}{N}\]
\[Confidence = \frac{freq(X, Y)}{freq(X)}\]
\[Lift = \frac{Support}{Supp(X)\times Supp(Y)}\]
APRIORI Algorithm
transactions <- read.csv(file.path("basket.csv"))
df <- transactions %>%
group_by(Member_number, Date) %>%
summarise(items = str_c(itemDescription, collapse = ",")) %>%
mutate(n=str_count(items,",")+1)
max(df$n)
## [1] 11
transactions %>%
count(itemDescription, sort = TRUE) %>%
head(5)
## itemDescription n
## 1 whole milk 2502
## 2 other vegetables 1898
## 3 rolls/buns 1716
## 4 soda 1514
## 5 yogurt 1334
transactions %>%
count(itemDescription, sort = TRUE) %>%
tail(5)
## itemDescription n
## 163 toilet cleaner 5
## 164 bags 4
## 165 baby cosmetics 3
## 166 kitchen utensil 1
## 167 preservation products 1
Utidying the dataset for use with the APRIORI algorithm in the “arules” package.
basket <- transactions %>%
group_by(Member_number, Date) %>%
summarise(items = str_c(itemDescription, collapse = ",")) %>%
ungroup() %>%
select(items)
dim(basket)
## [1] 14963 1
basket <- basket %>%
separate(col = items, sep=",",into = c(paste(seq(1:11))))
#colnames(basket) <- NULL
basket
## # A tibble: 14,963 x 11
## `1` `2` `3` `4` `5` `6` `7` `8` `9` `10` `11`
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 sausage whole milk semi-fin~ yogu~ <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 2 whole m~ pastry salty sn~ <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 3 canned ~ misc. bev~ <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 4 sausage hygiene a~ <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 5 soda pickled v~ <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 6 frankfu~ curd <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 7 sausage whole milk rolls/bu~ <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 8 whole m~ soda <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 9 beef white bre~ <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 10 frankfu~ soda whipped/~ <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## # ... with 14,953 more rows
#write.csv(basket,file = file.path("data","basketitems.csv"))
#transaction_object <- read.transactions(file.path("data","basketitems.csv"),sep = ",")
transaction_object <- as(basket, "transactions")
summary(transaction_object)
## transactions as itemMatrix in sparse format with
## 14963 rows (elements/itemsets/transactions) and
## 1054 columns (items) and a density of 0.002457992
##
## most frequent items:
## 1=whole milk 2=whole milk 1=other vegetables 1=sausage
## 1083 983 840 751
## 2=other vegetables (Other)
## 750 34358
##
## element (itemset/transaction) length distribution:
## sizes
## 2 3 4 5 6 7 8 9 11
## 10080 2698 1390 344 175 80 145 50 1
##
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.000 2.000 2.000 2.591 3.000 11.000
##
## includes extended item information - examples:
## labels variables levels
## 1 1=abrasive cleaner 1 abrasive cleaner
## 2 1=artif. sweetener 1 artif. sweetener
## 3 1=baby cosmetics 1 baby cosmetics
##
## includes extended transaction information - examples:
## transactionID
## 1 1
## 2 2
## 3 3
# WIP
#colnames(transaction_object) <- colnames(transaction_object) %>%
# str_remove(pattern = "[123456789][=]")
colnames(transaction_object)
## [1] "1=abrasive cleaner" "1=artif. sweetener"
## [3] "1=baby cosmetics" "1=bags"
## [5] "1=baking powder" "1=bathroom cleaner"
## [7] "1=beef" "1=berries"
## [9] "1=beverages" "1=bottled beer"
## [11] "1=bottled water" "1=brandy"
## [13] "1=brown bread" "1=butter"
## [15] "1=butter milk" "1=cake bar"
## [17] "1=candles" "1=candy"
## [19] "1=canned beer" "1=canned fish"
## [21] "1=canned fruit" "1=canned vegetables"
## [23] "1=cat food" "1=cereals"
## [25] "1=chewing gum" "1=chicken"
## [27] "1=chocolate" "1=chocolate marshmallow"
## [29] "1=citrus fruit" "1=cleaner"
## [31] "1=cling film/bags" "1=cocoa drinks"
## [33] "1=coffee" "1=condensed milk"
## [35] "1=cooking chocolate" "1=cookware"
## [37] "1=cream" "1=cream cheese "
## [39] "1=curd" "1=curd cheese"
## [41] "1=decalcifier" "1=dental care"
## [43] "1=dessert" "1=detergent"
## [45] "1=dish cleaner" "1=dishes"
## [47] "1=dog food" "1=domestic eggs"
## [49] "1=female sanitary products" "1=finished products"
## [51] "1=fish" "1=flour"
## [53] "1=flower (seeds)" "1=flower soil/fertilizer"
## [55] "1=frankfurter" "1=frozen chicken"
## [57] "1=frozen dessert" "1=frozen fish"
## [59] "1=frozen fruits" "1=frozen meals"
## [61] "1=frozen potato products" "1=frozen vegetables"
## [63] "1=fruit/vegetable juice" "1=grapes"
## [65] "1=hair spray" "1=ham"
## [67] "1=hamburger meat" "1=hard cheese"
## [69] "1=herbs" "1=honey"
## [71] "1=house keeping products" "1=hygiene articles"
## [73] "1=ice cream" "1=instant coffee"
## [75] "1=Instant food products" "1=jam"
## [77] "1=ketchup" "1=kitchen towels"
## [79] "1=kitchen utensil" "1=light bulbs"
## [81] "1=liqueur" "1=liquor"
## [83] "1=liquor (appetizer)" "1=liver loaf"
## [85] "1=long life bakery product" "1=make up remover"
## [87] "1=male cosmetics" "1=margarine"
## [89] "1=mayonnaise" "1=meat"
## [91] "1=meat spreads" "1=misc. beverages"
## [93] "1=mustard" "1=napkins"
## [95] "1=newspapers" "1=nut snack"
## [97] "1=nuts/prunes" "1=oil"
## [99] "1=onions" "1=organic products"
## [101] "1=organic sausage" "1=other vegetables"
## [103] "1=packaged fruit/vegetables" "1=pasta"
## [105] "1=pastry" "1=pet care"
## [107] "1=photo/film" "1=pickled vegetables"
## [109] "1=pip fruit" "1=popcorn"
## [111] "1=pork" "1=pot plants"
## [113] "1=potato products" "1=preservation products"
## [115] "1=processed cheese" "1=prosecco"
## [117] "1=pudding powder" "1=ready soups"
## [119] "1=red/blush wine" "1=rice"
## [121] "1=roll products " "1=rolls/buns"
## [123] "1=root vegetables" "1=rum"
## [125] "1=salad dressing" "1=salt"
## [127] "1=salty snack" "1=sauces"
## [129] "1=sausage" "1=seasonal products"
## [131] "1=semi-finished bread" "1=shopping bags"
## [133] "1=skin care" "1=sliced cheese"
## [135] "1=snack products" "1=soap"
## [137] "1=soda" "1=soft cheese"
## [139] "1=softener" "1=soups"
## [141] "1=sparkling wine" "1=specialty bar"
## [143] "1=specialty cheese" "1=specialty chocolate"
## [145] "1=specialty fat" "1=specialty vegetables"
## [147] "1=spices" "1=spread cheese"
## [149] "1=sugar" "1=sweet spreads"
## [151] "1=syrup" "1=tea"
## [153] "1=tidbits" "1=tropical fruit"
## [155] "1=turkey" "1=UHT-milk"
## [157] "1=vinegar" "1=waffles"
## [159] "1=whipped/sour cream" "1=whisky"
## [161] "1=white bread" "1=white wine"
## [163] "1=whole milk" "1=yogurt"
## [165] "1=zwieback" "2=abrasive cleaner"
## [167] "2=artif. sweetener" "2=baby cosmetics"
## [169] "2=bags" "2=baking powder"
## [171] "2=bathroom cleaner" "2=beef"
## [173] "2=berries" "2=beverages"
## [175] "2=bottled beer" "2=bottled water"
## [177] "2=brandy" "2=brown bread"
## [179] "2=butter" "2=butter milk"
## [181] "2=cake bar" "2=candles"
## [183] "2=candy" "2=canned beer"
## [185] "2=canned fish" "2=canned fruit"
## [187] "2=canned vegetables" "2=cat food"
## [189] "2=cereals" "2=chewing gum"
## [191] "2=chicken" "2=chocolate"
## [193] "2=chocolate marshmallow" "2=citrus fruit"
## [195] "2=cleaner" "2=cling film/bags"
## [197] "2=cocoa drinks" "2=coffee"
## [199] "2=condensed milk" "2=cooking chocolate"
## [201] "2=cookware" "2=cream"
## [203] "2=cream cheese " "2=curd"
## [205] "2=curd cheese" "2=decalcifier"
## [207] "2=dental care" "2=dessert"
## [209] "2=detergent" "2=dish cleaner"
## [211] "2=dishes" "2=dog food"
## [213] "2=domestic eggs" "2=female sanitary products"
## [215] "2=finished products" "2=fish"
## [217] "2=flour" "2=flower (seeds)"
## [219] "2=flower soil/fertilizer" "2=frankfurter"
## [221] "2=frozen chicken" "2=frozen dessert"
## [223] "2=frozen fish" "2=frozen fruits"
## [225] "2=frozen meals" "2=frozen potato products"
## [227] "2=frozen vegetables" "2=fruit/vegetable juice"
## [229] "2=grapes" "2=hair spray"
## [231] "2=ham" "2=hamburger meat"
## [233] "2=hard cheese" "2=herbs"
## [235] "2=honey" "2=house keeping products"
## [237] "2=hygiene articles" "2=ice cream"
## [239] "2=instant coffee" "2=Instant food products"
## [241] "2=jam" "2=ketchup"
## [243] "2=kitchen towels" "2=light bulbs"
## [245] "2=liqueur" "2=liquor"
## [247] "2=liquor (appetizer)" "2=liver loaf"
## [249] "2=long life bakery product" "2=make up remover"
## [251] "2=male cosmetics" "2=margarine"
## [253] "2=mayonnaise" "2=meat"
## [255] "2=meat spreads" "2=misc. beverages"
## [257] "2=mustard" "2=napkins"
## [259] "2=newspapers" "2=nut snack"
## [261] "2=nuts/prunes" "2=oil"
## [263] "2=onions" "2=organic products"
## [265] "2=organic sausage" "2=other vegetables"
## [267] "2=packaged fruit/vegetables" "2=pasta"
## [269] "2=pastry" "2=pet care"
## [271] "2=photo/film" "2=pickled vegetables"
## [273] "2=pip fruit" "2=popcorn"
## [275] "2=pork" "2=pot plants"
## [277] "2=potato products" "2=processed cheese"
## [279] "2=prosecco" "2=pudding powder"
## [281] "2=ready soups" "2=red/blush wine"
## [283] "2=rice" "2=roll products "
## [285] "2=rolls/buns" "2=root vegetables"
## [287] "2=rubbing alcohol" "2=rum"
## [289] "2=salad dressing" "2=salt"
## [291] "2=salty snack" "2=sauces"
## [293] "2=sausage" "2=seasonal products"
## [295] "2=semi-finished bread" "2=shopping bags"
## [297] "2=skin care" "2=sliced cheese"
## [299] "2=snack products" "2=soap"
## [301] "2=soda" "2=soft cheese"
## [303] "2=softener" "2=soups"
## [305] "2=sparkling wine" "2=specialty bar"
## [307] "2=specialty cheese" "2=specialty chocolate"
## [309] "2=specialty fat" "2=specialty vegetables"
## [311] "2=spices" "2=spread cheese"
## [313] "2=sugar" "2=sweet spreads"
## [315] "2=syrup" "2=tea"
## [317] "2=tidbits" "2=toilet cleaner"
## [319] "2=tropical fruit" "2=turkey"
## [321] "2=UHT-milk" "2=vinegar"
## [323] "2=waffles" "2=whipped/sour cream"
## [325] "2=whisky" "2=white bread"
## [327] "2=white wine" "2=whole milk"
## [329] "2=yogurt" "2=zwieback"
## [331] "3=abrasive cleaner" "3=artif. sweetener"
## [333] "3=bags" "3=baking powder"
## [335] "3=bathroom cleaner" "3=beef"
## [337] "3=berries" "3=beverages"
## [339] "3=bottled beer" "3=bottled water"
## [341] "3=brandy" "3=brown bread"
## [343] "3=butter" "3=butter milk"
## [345] "3=cake bar" "3=candles"
## [347] "3=candy" "3=canned beer"
## [349] "3=canned fish" "3=canned fruit"
## [351] "3=canned vegetables" "3=cat food"
## [353] "3=cereals" "3=chewing gum"
## [355] "3=chicken" "3=chocolate"
## [357] "3=chocolate marshmallow" "3=citrus fruit"
## [359] "3=cleaner" "3=cling film/bags"
## [361] "3=cocoa drinks" "3=coffee"
## [363] "3=condensed milk" "3=cooking chocolate"
## [365] "3=cream" "3=cream cheese "
## [367] "3=curd" "3=curd cheese"
## [369] "3=decalcifier" "3=dental care"
## [371] "3=dessert" "3=detergent"
## [373] "3=dish cleaner" "3=dishes"
## [375] "3=dog food" "3=domestic eggs"
## [377] "3=female sanitary products" "3=flour"
## [379] "3=flower (seeds)" "3=frankfurter"
## [381] "3=frozen dessert" "3=frozen fish"
## [383] "3=frozen fruits" "3=frozen meals"
## [385] "3=frozen potato products" "3=frozen vegetables"
## [387] "3=fruit/vegetable juice" "3=grapes"
## [389] "3=ham" "3=hamburger meat"
## [391] "3=hard cheese" "3=herbs"
## [393] "3=honey" "3=house keeping products"
## [395] "3=hygiene articles" "3=ice cream"
## [397] "3=instant coffee" "3=Instant food products"
## [399] "3=jam" "3=ketchup"
## [401] "3=kitchen towels" "3=light bulbs"
## [403] "3=liqueur" "3=liquor"
## [405] "3=liquor (appetizer)" "3=liver loaf"
## [407] "3=long life bakery product" "3=male cosmetics"
## [409] "3=margarine" "3=mayonnaise"
## [411] "3=meat" "3=meat spreads"
## [413] "3=misc. beverages" "3=mustard"
## [415] "3=napkins" "3=newspapers"
## [417] "3=nut snack" "3=nuts/prunes"
## [419] "3=oil" "3=onions"
## [421] "3=organic products" "3=organic sausage"
## [423] "3=other vegetables" "3=packaged fruit/vegetables"
## [425] "3=pasta" "3=pastry"
## [427] "3=pet care" "3=photo/film"
## [429] "3=pickled vegetables" "3=pip fruit"
## [431] "3=popcorn" "3=pork"
## [433] "3=pot plants" "3=potato products"
## [435] "3=processed cheese" "3=prosecco"
## [437] "3=pudding powder" "3=ready soups"
## [439] "3=red/blush wine" "3=rice"
## [441] "3=roll products " "3=rolls/buns"
## [443] "3=root vegetables" "3=rubbing alcohol"
## [445] "3=rum" "3=salt"
## [447] "3=salty snack" "3=sauces"
## [449] "3=sausage" "3=seasonal products"
## [451] "3=semi-finished bread" "3=shopping bags"
## [453] "3=sliced cheese" "3=snack products"
## [455] "3=soap" "3=soda"
## [457] "3=soft cheese" "3=softener"
## [459] "3=soups" "3=sparkling wine"
## [461] "3=specialty bar" "3=specialty cheese"
## [463] "3=specialty chocolate" "3=specialty fat"
## [465] "3=specialty vegetables" "3=spices"
## [467] "3=spread cheese" "3=sugar"
## [469] "3=sweet spreads" "3=syrup"
## [471] "3=tea" "3=tidbits"
## [473] "3=tropical fruit" "3=turkey"
## [475] "3=UHT-milk" "3=vinegar"
## [477] "3=waffles" "3=whipped/sour cream"
## [479] "3=whisky" "3=white bread"
## [481] "3=white wine" "3=whole milk"
## [483] "3=yogurt" "3=zwieback"
## [485] "4=abrasive cleaner" "4=artif. sweetener"
## [487] "4=baking powder" "4=beef"
## [489] "4=berries" "4=beverages"
## [491] "4=bottled beer" "4=bottled water"
## [493] "4=brandy" "4=brown bread"
## [495] "4=butter" "4=butter milk"
## [497] "4=cake bar" "4=candles"
## [499] "4=candy" "4=canned beer"
## [501] "4=canned fish" "4=canned fruit"
## [503] "4=canned vegetables" "4=cat food"
## [505] "4=cereals" "4=chewing gum"
## [507] "4=chicken" "4=chocolate"
## [509] "4=chocolate marshmallow" "4=citrus fruit"
## [511] "4=cleaner" "4=cling film/bags"
## [513] "4=cocoa drinks" "4=coffee"
## [515] "4=condensed milk" "4=cookware"
## [517] "4=cream cheese " "4=curd"
## [519] "4=curd cheese" "4=decalcifier"
## [521] "4=dental care" "4=dessert"
## [523] "4=detergent" "4=dish cleaner"
## [525] "4=dishes" "4=dog food"
## [527] "4=domestic eggs" "4=female sanitary products"
## [529] "4=finished products" "4=flour"
## [531] "4=flower (seeds)" "4=flower soil/fertilizer"
## [533] "4=frankfurter" "4=frozen dessert"
## [535] "4=frozen fish" "4=frozen meals"
## [537] "4=frozen potato products" "4=frozen vegetables"
## [539] "4=fruit/vegetable juice" "4=grapes"
## [541] "4=ham" "4=hamburger meat"
## [543] "4=hard cheese" "4=herbs"
## [545] "4=honey" "4=house keeping products"
## [547] "4=hygiene articles" "4=ice cream"
## [549] "4=instant coffee" "4=Instant food products"
## [551] "4=jam" "4=ketchup"
## [553] "4=light bulbs" "4=liquor"
## [555] "4=liquor (appetizer)" "4=long life bakery product"
## [557] "4=margarine" "4=mayonnaise"
## [559] "4=meat" "4=meat spreads"
## [561] "4=misc. beverages" "4=mustard"
## [563] "4=napkins" "4=newspapers"
## [565] "4=nut snack" "4=nuts/prunes"
## [567] "4=oil" "4=onions"
## [569] "4=organic products" "4=organic sausage"
## [571] "4=other vegetables" "4=packaged fruit/vegetables"
## [573] "4=pasta" "4=pastry"
## [575] "4=pet care" "4=photo/film"
## [577] "4=pickled vegetables" "4=pip fruit"
## [579] "4=popcorn" "4=pork"
## [581] "4=pot plants" "4=potato products"
## [583] "4=processed cheese" "4=prosecco"
## [585] "4=pudding powder" "4=ready soups"
## [587] "4=red/blush wine" "4=rice"
## [589] "4=roll products " "4=rolls/buns"
## [591] "4=root vegetables" "4=rum"
## [593] "4=salad dressing" "4=salt"
## [595] "4=salty snack" "4=sauces"
## [597] "4=sausage" "4=seasonal products"
## [599] "4=semi-finished bread" "4=shopping bags"
## [601] "4=sliced cheese" "4=snack products"
## [603] "4=soap" "4=soda"
## [605] "4=soft cheese" "4=softener"
## [607] "4=soups" "4=sparkling wine"
## [609] "4=specialty bar" "4=specialty cheese"
## [611] "4=specialty chocolate" "4=specialty fat"
## [613] "4=specialty vegetables" "4=spices"
## [615] "4=spread cheese" "4=sugar"
## [617] "4=sweet spreads" "4=syrup"
## [619] "4=tidbits" "4=tropical fruit"
## [621] "4=turkey" "4=UHT-milk"
## [623] "4=vinegar" "4=waffles"
## [625] "4=whipped/sour cream" "4=white bread"
## [627] "4=white wine" "4=whole milk"
## [629] "4=yogurt" "4=zwieback"
## [631] "5=abrasive cleaner" "5=artif. sweetener"
## [633] "5=baby cosmetics" "5=baking powder"
## [635] "5=beef" "5=berries"
## [637] "5=beverages" "5=bottled beer"
## [639] "5=bottled water" "5=brandy"
## [641] "5=brown bread" "5=butter"
## [643] "5=butter milk" "5=cake bar"
## [645] "5=candles" "5=candy"
## [647] "5=canned beer" "5=canned fish"
## [649] "5=canned fruit" "5=canned vegetables"
## [651] "5=cat food" "5=cereals"
## [653] "5=chewing gum" "5=chicken"
## [655] "5=chocolate" "5=chocolate marshmallow"
## [657] "5=citrus fruit" "5=cling film/bags"
## [659] "5=coffee" "5=condensed milk"
## [661] "5=cream" "5=cream cheese "
## [663] "5=curd" "5=curd cheese"
## [665] "5=dental care" "5=dessert"
## [667] "5=detergent" "5=dish cleaner"
## [669] "5=dishes" "5=dog food"
## [671] "5=domestic eggs" "5=female sanitary products"
## [673] "5=flour" "5=flower (seeds)"
## [675] "5=frozen dessert" "5=frozen fish"
## [677] "5=frozen meals" "5=frozen vegetables"
## [679] "5=fruit/vegetable juice" "5=grapes"
## [681] "5=hamburger meat" "5=hard cheese"
## [683] "5=herbs" "5=house keeping products"
## [685] "5=hygiene articles" "5=ice cream"
## [687] "5=instant coffee" "5=kitchen towels"
## [689] "5=liquor" "5=liquor (appetizer)"
## [691] "5=liver loaf" "5=long life bakery product"
## [693] "5=make up remover" "5=male cosmetics"
## [695] "5=margarine" "5=mayonnaise"
## [697] "5=meat" "5=meat spreads"
## [699] "5=misc. beverages" "5=mustard"
## [701] "5=napkins" "5=newspapers"
## [703] "5=nut snack" "5=oil"
## [705] "5=onions" "5=other vegetables"
## [707] "5=packaged fruit/vegetables" "5=pasta"
## [709] "5=pastry" "5=pet care"
## [711] "5=pickled vegetables" "5=pip fruit"
## [713] "5=popcorn" "5=pork"
## [715] "5=pot plants" "5=processed cheese"
## [717] "5=prosecco" "5=ready soups"
## [719] "5=red/blush wine" "5=rice"
## [721] "5=roll products " "5=rolls/buns"
## [723] "5=root vegetables" "5=rum"
## [725] "5=salt" "5=salty snack"
## [727] "5=sausage" "5=seasonal products"
## [729] "5=semi-finished bread" "5=shopping bags"
## [731] "5=skin care" "5=sliced cheese"
## [733] "5=snack products" "5=soda"
## [735] "5=soft cheese" "5=softener"
## [737] "5=specialty bar" "5=specialty cheese"
## [739] "5=specialty chocolate" "5=specialty fat"
## [741] "5=spices" "5=spread cheese"
## [743] "5=sugar" "5=sweet spreads"
## [745] "5=tea" "5=tropical fruit"
## [747] "5=turkey" "5=UHT-milk"
## [749] "5=vinegar" "5=waffles"
## [751] "5=whipped/sour cream" "5=white bread"
## [753] "5=white wine" "5=whole milk"
## [755] "5=yogurt" "5=zwieback"
## [757] "6=artif. sweetener" "6=baking powder"
## [759] "6=bathroom cleaner" "6=berries"
## [761] "6=beverages" "6=bottled beer"
## [763] "6=bottled water" "6=brown bread"
## [765] "6=butter" "6=butter milk"
## [767] "6=cake bar" "6=candy"
## [769] "6=canned beer" "6=canned fish"
## [771] "6=canned vegetables" "6=chewing gum"
## [773] "6=chocolate" "6=chocolate marshmallow"
## [775] "6=cleaner" "6=cling film/bags"
## [777] "6=coffee" "6=cream cheese "
## [779] "6=curd" "6=dessert"
## [781] "6=detergent" "6=dishes"
## [783] "6=dog food" "6=domestic eggs"
## [785] "6=female sanitary products" "6=flour"
## [787] "6=flower (seeds)" "6=frozen dessert"
## [789] "6=frozen fish" "6=frozen meals"
## [791] "6=frozen potato products" "6=frozen vegetables"
## [793] "6=fruit/vegetable juice" "6=grapes"
## [795] "6=hard cheese" "6=herbs"
## [797] "6=honey" "6=house keeping products"
## [799] "6=hygiene articles" "6=ice cream"
## [801] "6=instant coffee" "6=Instant food products"
## [803] "6=jam" "6=light bulbs"
## [805] "6=long life bakery product" "6=male cosmetics"
## [807] "6=margarine" "6=mayonnaise"
## [809] "6=meat spreads" "6=misc. beverages"
## [811] "6=mustard" "6=napkins"
## [813] "6=newspapers" "6=nut snack"
## [815] "6=oil" "6=onions"
## [817] "6=other vegetables" "6=packaged fruit/vegetables"
## [819] "6=pasta" "6=pastry"
## [821] "6=pet care" "6=photo/film"
## [823] "6=pickled vegetables" "6=pip fruit"
## [825] "6=pot plants" "6=processed cheese"
## [827] "6=pudding powder" "6=red/blush wine"
## [829] "6=roll products " "6=rolls/buns"
## [831] "6=root vegetables" "6=rubbing alcohol"
## [833] "6=salad dressing" "6=salty snack"
## [835] "6=sauces" "6=semi-finished bread"
## [837] "6=shopping bags" "6=sliced cheese"
## [839] "6=snack products" "6=soda"
## [841] "6=soft cheese" "6=soups"
## [843] "6=specialty bar" "6=specialty cheese"
## [845] "6=specialty chocolate" "6=spread cheese"
## [847] "6=sugar" "6=sweet spreads"
## [849] "6=tropical fruit" "6=UHT-milk"
## [851] "6=vinegar" "6=waffles"
## [853] "6=whipped/sour cream" "6=white bread"
## [855] "6=white wine" "6=whole milk"
## [857] "6=yogurt" "7=baking powder"
## [859] "7=beverages" "7=bottled beer"
## [861] "7=bottled water" "7=brown bread"
## [863] "7=butter" "7=butter milk"
## [865] "7=cake bar" "7=candles"
## [867] "7=candy" "7=canned beer"
## [869] "7=canned fish" "7=cat food"
## [871] "7=chewing gum" "7=chocolate"
## [873] "7=chocolate marshmallow" "7=coffee"
## [875] "7=condensed milk" "7=cream cheese "
## [877] "7=curd" "7=dental care"
## [879] "7=dessert" "7=detergent"
## [881] "7=dish cleaner" "7=dog food"
## [883] "7=domestic eggs" "7=flour"
## [885] "7=flower (seeds)" "7=flower soil/fertilizer"
## [887] "7=frozen meals" "7=frozen vegetables"
## [889] "7=fruit/vegetable juice" "7=grapes"
## [891] "7=hard cheese" "7=herbs"
## [893] "7=house keeping products" "7=hygiene articles"
## [895] "7=ice cream" "7=instant coffee"
## [897] "7=ketchup" "7=light bulbs"
## [899] "7=liquor (appetizer)" "7=long life bakery product"
## [901] "7=margarine" "7=mayonnaise"
## [903] "7=misc. beverages" "7=napkins"
## [905] "7=newspapers" "7=nut snack"
## [907] "7=oil" "7=onions"
## [909] "7=other vegetables" "7=pasta"
## [911] "7=pastry" "7=photo/film"
## [913] "7=pickled vegetables" "7=pip fruit"
## [915] "7=popcorn" "7=processed cheese"
## [917] "7=rolls/buns" "7=root vegetables"
## [919] "7=salty snack" "7=sauces"
## [921] "7=seasonal products" "7=semi-finished bread"
## [923] "7=shopping bags" "7=skin care"
## [925] "7=sliced cheese" "7=soda"
## [927] "7=soft cheese" "7=softener"
## [929] "7=soups" "7=specialty bar"
## [931] "7=specialty cheese" "7=specialty chocolate"
## [933] "7=spices" "7=spread cheese"
## [935] "7=sugar" "7=sweet spreads"
## [937] "7=tropical fruit" "7=UHT-milk"
## [939] "7=waffles" "7=whipped/sour cream"
## [941] "7=white bread" "7=white wine"
## [943] "7=whole milk" "7=yogurt"
## [945] "7=zwieback" "8=artif. sweetener"
## [947] "8=berries" "8=beverages"
## [949] "8=bottled beer" "8=bottled water"
## [951] "8=brown bread" "8=butter"
## [953] "8=butter milk" "8=cake bar"
## [955] "8=candy" "8=canned beer"
## [957] "8=canned fish" "8=canned vegetables"
## [959] "8=cat food" "8=chewing gum"
## [961] "8=chocolate" "8=condensed milk"
## [963] "8=cream cheese " "8=curd"
## [965] "8=dental care" "8=detergent"
## [967] "8=domestic eggs" "8=flour"
## [969] "8=frozen dessert" "8=frozen fish"
## [971] "8=frozen meals" "8=frozen potato products"
## [973] "8=frozen vegetables" "8=fruit/vegetable juice"
## [975] "8=grapes" "8=hard cheese"
## [977] "8=hygiene articles" "8=jam"
## [979] "8=liquor" "8=liquor (appetizer)"
## [981] "8=long life bakery product" "8=margarine"
## [983] "8=mayonnaise" "8=misc. beverages"
## [985] "8=mustard" "8=napkins"
## [987] "8=newspapers" "8=nut snack"
## [989] "8=oil" "8=other vegetables"
## [991] "8=pastry" "8=photo/film"
## [993] "8=pip fruit" "8=pot plants"
## [995] "8=processed cheese" "8=red/blush wine"
## [997] "8=rolls/buns" "8=root vegetables"
## [999] "8=salty snack" "8=sauces"
## [1001] "8=seasonal products" "8=semi-finished bread"
## [1003] "8=shopping bags" "8=sliced cheese"
## [1005] "8=soda" "8=specialty bar"
## [1007] "8=specialty chocolate" "8=sugar"
## [1009] "8=sweet spreads" "8=tropical fruit"
## [1011] "8=UHT-milk" "8=vinegar"
## [1013] "8=whipped/sour cream" "8=white bread"
## [1015] "8=white wine" "8=whole milk"
## [1017] "8=yogurt" "9=baking powder"
## [1019] "9=butter" "9=canned beer"
## [1021] "9=cat food" "9=chocolate"
## [1023] "9=citrus fruit" "9=dessert"
## [1025] "9=dog food" "9=domestic eggs"
## [1027] "9=flour" "9=flower (seeds)"
## [1029] "9=frozen fish" "9=frozen meals"
## [1031] "9=frozen vegetables" "9=hard cheese"
## [1033] "9=hygiene articles" "9=male cosmetics"
## [1035] "9=margarine" "9=misc. beverages"
## [1037] "9=newspapers" "9=onions"
## [1039] "9=other vegetables" "9=pastry"
## [1041] "9=processed cheese" "9=rolls/buns"
## [1043] "9=salt" "9=shopping bags"
## [1045] "9=soda" "9=softener"
## [1047] "9=soups" "9=sugar"
## [1049] "9=syrup" "9=whipped/sour cream"
## [1051] "9=white bread" "9=whole milk"
## [1053] "10=curd" "11=newspapers"
itemFrequencyPlot(transaction_object,topN=30,type="absolute",col=brewer.pal(8,'Pastel1'), main="Absolute Item Frequency Plot")

itemFrequencyPlot(transaction_object,topN=30,type="relative",col=brewer.pal(8,'Pastel1'), main="Absolute Item Frequency Plot")

rules <- apriori(transaction_object, parameter = list(supp=0.0001, conf=0.15,minlen=2))
## Apriori
##
## Parameter specification:
## confidence minval smax arem aval originalSupport maxtime support minlen
## 0.15 0.1 1 none FALSE TRUE 5 1e-04 2
## maxlen target ext
## 10 rules TRUE
##
## 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 ...[1054 item(s), 14963 transaction(s)] done [0.00s].
## sorting and recoding items ... [877 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 done [0.01s].
## writing ... [1468 rule(s)] done [0.00s].
## creating S4 object ... done [0.00s].
rules <- sort(rules, by='confidence', decreasing = TRUE)
rules[1:50] %>%
inspect()
## lhs rhs support confidence coverage lift count
## [1] {6=sweet spreads} => {2=pip fruit} 0.000133663 1 0.000133663 63.13502 2
## [2] {6=soups} => {5=yogurt} 0.000133663 1 0.000133663 650.56522 2
## [3] {7=semi-finished bread} => {1=chicken} 0.000133663 1 0.000133663 46.61371 2
## [4] {6=instant coffee} => {2=hamburger meat} 0.000133663 1 0.000133663 180.27711 2
## [5] {7=flower (seeds)} => {4=other vegetables} 0.000133663 1 0.000133663 170.03409 2
## [6] {6=house keeping products} => {4=whole milk} 0.000133663 1 0.000133663 134.80180 2
## [7] {8=candy} => {1=ham} 0.000133663 1 0.000133663 72.63592 2
## [8] {8=condensed milk} => {3=whole milk} 0.000133663 1 0.000133663 61.32377 2
## [9] {8=root vegetables} => {5=other vegetables} 0.000133663 1 0.000133663 748.15000 2
## [10] {8=tropical fruit} => {6=bottled water} 0.000133663 1 0.000133663 997.53333 2
## [11] {4=finished products} => {2=bottled water} 0.000133663 1 0.000133663 37.97716 2
## [12] {4=other vegetables,
## 5=popcorn} => {1=pork} 0.000133663 1 0.000133663 36.23002 2
## [13] {1=pork,
## 5=popcorn} => {4=other vegetables} 0.000133663 1 0.000133663 170.03409 2
## [14] {4=whole milk,
## 6=pot plants} => {2=whole milk} 0.000133663 1 0.000133663 15.22177 2
## [15] {2=whole milk,
## 6=pot plants} => {4=whole milk} 0.000133663 1 0.000133663 134.80180 2
## [16] {3=beverages,
## 5=frozen dessert} => {1=sausage} 0.000133663 1 0.000133663 19.92410 2
## [17] {1=sausage,
## 5=frozen dessert} => {3=beverages} 0.000133663 1 0.000133663 650.56522 2
## [18] {4=meat,
## 5=roll products } => {3=other vegetables} 0.000133663 1 0.000133663 88.53846 2
## [19] {3=other vegetables,
## 4=meat} => {5=roll products } 0.000133663 1 0.000133663 2992.60000 2
## [20] {3=other vegetables,
## 5=roll products } => {4=meat} 0.000133663 1 0.000133663 3740.75000 2
## [21] {4=meat,
## 5=roll products } => {1=tropical fruit} 0.000133663 1 0.000133663 22.53464 2
## [22] {1=tropical fruit,
## 4=meat} => {5=roll products } 0.000133663 1 0.000133663 2992.60000 2
## [23] {1=tropical fruit,
## 5=roll products } => {4=meat} 0.000133663 1 0.000133663 3740.75000 2
## [24] {3=other vegetables,
## 4=meat} => {1=tropical fruit} 0.000133663 1 0.000133663 22.53464 2
## [25] {1=tropical fruit,
## 4=meat} => {3=other vegetables} 0.000133663 1 0.000133663 88.53846 2
## [26] {3=other vegetables,
## 5=roll products } => {1=tropical fruit} 0.000133663 1 0.000133663 22.53464 2
## [27] {1=tropical fruit,
## 5=roll products } => {3=other vegetables} 0.000133663 1 0.000133663 88.53846 2
## [28] {2=sausage,
## 5=cake bar} => {3=whole milk} 0.000133663 1 0.000133663 61.32377 2
## [29] {3=whole milk,
## 5=cake bar} => {2=sausage} 0.000133663 1 0.000133663 100.42282 2
## [30] {2=sausage,
## 9=shopping bags} => {5=whole milk} 0.000133663 1 0.000133663 383.66667 2
## [31] {3=meat,
## 5=other vegetables} => {1=frankfurter} 0.000133663 1 0.000133663 30.85155 2
## [32] {6=dessert,
## 7=specialty chocolate} => {1=sausage} 0.000133663 1 0.000133663 19.92410 2
## [33] {1=sausage,
## 6=dessert} => {7=specialty chocolate} 0.000133663 1 0.000133663 2992.60000 2
## [34] {1=sausage,
## 7=specialty chocolate} => {6=dessert} 0.000133663 1 0.000133663 2992.60000 2
## [35] {5=cream cheese ,
## 6=other vegetables} => {1=sausage} 0.000133663 1 0.000133663 19.92410 2
## [36] {1=sausage,
## 5=cream cheese } => {6=other vegetables} 0.000133663 1 0.000133663 935.18750 2
## [37] {5=semi-finished bread,
## 6=napkins} => {3=whole milk} 0.000133663 1 0.000133663 61.32377 2
## [38] {3=whole milk,
## 5=semi-finished bread} => {6=napkins} 0.000133663 1 0.000133663 1151.00000 2
## [39] {3=whole milk,
## 6=napkins} => {5=semi-finished bread} 0.000133663 1 0.000133663 2137.57143 2
## [40] {4=sugar,
## 5=detergent} => {2=canned beer} 0.000133663 1 0.000133663 65.34061 2
## [41] {2=canned beer,
## 5=detergent} => {4=sugar} 0.000133663 1 0.000133663 880.17647 2
## [42] {2=canned beer,
## 4=sugar} => {5=detergent} 0.000133663 1 0.000133663 1870.37500 2
## [43] {3=pet care,
## 4=yogurt} => {2=sausage} 0.000133663 1 0.000133663 100.42282 2
## [44] {2=sausage,
## 3=pet care} => {4=yogurt} 0.000133663 1 0.000133663 151.14141 2
## [45] {1=bottled beer,
## 4=baking powder} => {2=tropical fruit} 0.000133663 1 0.000133663 53.24911 2
## [46] {2=tropical fruit,
## 4=baking powder} => {1=bottled beer} 0.000133663 1 0.000133663 62.34583 2
## [47] {2=citrus fruit,
## 5=salty snack} => {1=sausage} 0.000133663 1 0.000133663 19.92410 2
## [48] {1=sausage,
## 5=salty snack} => {2=citrus fruit} 0.000133663 1 0.000133663 79.16931 2
## [49] {2=sausage,
## 8=shopping bags} => {1=sausage} 0.000133663 1 0.000133663 19.92410 2
## [50] {1=sausage,
## 8=shopping bags} => {2=sausage} 0.000133663 1 0.000133663 100.42282 2