Market Basket-analyse in R
Christopher Bruffaerts
Statistician
Market Basket-cursus

Mandje = verzameling items
Items

Voorbeelden van mandjes:
Je mandje in de supermarkt
Je Amazon-winkelwagen
Je cursussen op DataCamp
De films die je op Netflix hebt gekeken
Wat is er in de winkel?

Waar heb je vandaag zin in?

Wat is er in de winkel?
store = c("Bread", "Butter",
"Cheese", "Wine")
set.seed(1234)
n_items = 4
my_basket = data.frame(
TID = rep(1,n_items),
Product = sample(
store, n_items,
replace = TRUE))
R-uitvoer
my_basket
TID Product
1 1 Bread
2 1 Cheese
3 1 Cheese
4 1 Cheese
Mijn originele mandje
Eén record per gekocht item
TID Product
1 1 Bread
2 1 Cheese
3 1 Cheese
4 1 Cheese
Mijn aangepaste mandje
Eén record per uniek gekocht item
# A tibble: 2 x 3
TID Product Quantity
<dbl> <fct> <int>
1 1 Bread 1
2 1 Cheese 3
De mandgegevens reshapen
# Mijn mandje aanpassen
my_basket = my_basket %>%
add_count(Product) %>%
unique() %>%
rename(Quantity = n)
# Aantal unieke items
n_distinct(my_basket$Product)
2
# Totale mandgrootte
my_basket %>% summarize(sum(Quantity))
4
Items in mijn mandje visualiseren
# Items plotten
ggplot(my_basket,
aes(x=reorder(Product, Quantity),
y = Quantity)) +
geom_col() +
coord_flip() +
xlab("Items") +
ggtitle("Samenvatting van items
in mijn mandje")

Vraag: Is er een relatie tussen items binnen een mandje?

Terug naar de voorbeelden
Je mandje in de supermarkt, bijv. spaghetti en tomatensaus
Je Amazon-winkelwagen, bijv. telefoon en hoesje
Je cursussen op DataCamp bijv. "Introduction to R" en "Intermediate R"
Market Basket-analyse in R