Market Basket Analysis v R
Christopher Bruffaerts
Statistician
Transakce: Aktivita nákupu nebo prodeje zboží.

Transakční data: Seznam všech položek zakoupených zákazníkem v rámci jednoho nákupu.
Příklad jedné transakce:
TID Product
1 1 Bread
2 1 Cheese
3 1 Cheese
4 1 Cheese
Třída transactions: reprezentuje transakční data pro dolování položkových sad nebo pravidel.
Převod z:
Nejprve je však nutné data připravit.
Důležité při práci s transakčními daty
Pole/sloupec pro identifikaci produktu
Pole/sloupec pro identifikaci transakce
Transakční data z obchodu
my_transactions = data.frame(
"TID" = c(1,1,1,1, 2,2,2, 3,3, 4,4,4, 5,5, 6,6, 7,7),
"Product" = c("Bread", "Cheese", "Cheese", "Cheese",
"Bread", "Butter", "Wine",
"Butter", "Butter",
"Butter", "Wine", "Wine",
"Butter", "Cheese",
"Cheese", "Wine",
"Wine", "Wine")
)
Náhled transakcí
head(my_transactions, 10)
TID Product
1 1 Bread
2 1 Butter
3 1 Cheese
4 1 Wine
5 2 Bread
6 2 Butter
7 2 Wine
8 3 Bread
9 3 Butter
10 4 Butter
Vytvoření seznamů pomocí funkce split
# Transform TID into a factor
my_transactions$TID =
factor(my_transactions$TID)
# Split into groups
data_list = split(my_transactions$Product,
my_transactions$TID)
data_list
$`1`
[1] Bread Butter Cheese Wine
Levels: Bread Butter Cheese Wine
$`2`
[1] Bread Butter Wine
Levels: Bread Butter Cheese Wine
$`3`
[1] Bread Butter
Levels: Bread Butter Cheese Wine
Převod na třídu transactions
# Transform to transactional dataset
data_trx = as(data_list,"transactions")
# Inspect transactions
inspect(data_trx)
Prohlídka transakčních dat
items transactionID
[1] {Bread,Butter,Cheese,Wine} 1
[2] {Bread,Butter,Wine} 2
[3] {Bread,Butter} 3
[4] {Butter,Cheese,Wine} 4
[5] {Butter,Cheese} 5
[6] {Cheese,Wine} 6
[7] {Butter,Wine} 7
Přehled transakcí
inspect(head(data_trx))
items transactionID
[1] {Bread,Butter,Cheese,Wine} 1
[2] {Bread,Butter,Wine} 2
[3] {Bread,Butter} 3
[4] {Butter,Cheese,Wine} 4
[5] {Butter,Cheese} 5
[6] {Cheese,Wine} 6
Přístup ke konkrétním transakcím
inspect(data_trx[1])
inspect(data_trx[1:3])
Souhrn transakčního objektu
summary(data_trx)
Vykreslení ItemMatrix
image(data_trx)
Upozornění: funkci používejte na omezeném počtu transakcí
Vhodné k identifikaci:
Hustota = 18/28 = 0,64

Market Basket Analysis v R