Analiza koszyka zakupowego w R
Christopher Bruffaerts
Statistician
Transakcja: czynność kupna lub sprzedaży czegoś.

Dane transakcyjne: Lista wszystkich produktów kupionych przez klienta w jednym zakupie.
Przykład jednej transakcji:
TID Product
1 1 Bread
2 1 Cheese
3 1 Cheese
4 1 Cheese
Klasa Transactions: przechowuje dane transakcyjne służące do eksploracji zbiorów elementów lub reguł.
Konwersja z:
Wcześniej należy jednak odpowiednio przygotować dane.
Ważne przy danych transakcyjnych
Pole/kolumna identyfikująca produkt
Pole/kolumna identyfikująca transakcję
Dane transakcyjne ze sklepu
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")
)
Podgląd transakcji
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
Tworzenie list funkcją 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
Przekształcenie do klasy transakcyjnej
# Transform to transactional dataset
data_trx = as(data_list,"transactions")
# Inspect transactions
inspect(data_trx)
Inspekcja danych transakcyjnych
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
Przegląd transakcji
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
Dostęp do wybranych transakcji
inspect(data_trx[1])
inspect(data_trx[1:3])
Podsumowanie obiektu transakcyjnego
summary(data_trx)
Wizualizacja ItemMatrix
image(data_trx)
Uwaga: używać funkcji na ograniczonej liczbie transakcji
Przydatne do identyfikacji:
Gęstość = 18/28 = 0,64

Analiza koszyka zakupowego w R