Dados transacionais

Análise de Cesta de Compras em R

Christopher Bruffaerts

Statistician

O que é uma transação?

Transação: atividade de comprar ou vender algo.

transação

Dados transacionais: Lista de todos os itens comprados por um cliente em uma única compra.

Exemplo de uma transação:

  TID Product
1   1   Bread
2   1  Cheese
3   1  Cheese
4   1  Cheese
Análise de Cesta de Compras em R

A classe transacional no R

Transactions-class: representa dados de transações usados para extrair conjuntos de itens ou regras.

Coerção a partir de:

  • listas
  • matrizes
  • dataframes

Mas você precisará preparar os dados antes.

Importante ao lidar com dados transacionais

  • Campo/coluna usado para identificar um produto

  • Campo/coluna usado para identificar uma transação

Análise de Cesta de Compras em R

De volta ao mercado (1)

Dados transacionais da loja

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")
)

Visão das transações

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
Análise de Cesta de Compras em R

De volta ao mercado (2)

Criar listas com a função split

# Transforme TID em fator
my_transactions$TID = 
  factor(my_transactions$TID)

# Divida em grupos
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
Análise de Cesta de Compras em R

De volta ao mercado (3)

Transformando para a classe transactions

# Transforme em conjunto de dados transacional
data_trx = as(data_list,"transactions")

# Inspecione as transações
inspect(data_trx)

Inspeção dos dados transacionais

    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
Análise de Cesta de Compras em R

Mais inspeções de transações

Visão geral das transações

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

Acessando transações específicas

inspect(data_trx[1])
inspect(data_trx[1:3])

Resumo do objeto transacional

summary(data_trx)
Análise de Cesta de Compras em R

Visão geral das transações

Plotando a ItemMatrix

image(data_trx)

Atenção: use a função com poucas transações

Útil para identificar:

  • Padrões nas transações
  • Esparsidade nos dados

Densidade = 18/28 = 0,64

trx_image

Análise de Cesta de Compras em R

Vamos inspecionar transações!

Análise de Cesta de Compras em R

Preparing Video For Download...