Associação: algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

69
Associação: algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

description

Associação: algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC. CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets. Utiliza uma representação comprimida do banco de dados usando uma FP-tree - PowerPoint PPT Presentation

Transcript of Associação: algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Page 1: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Associação: algoritmos (parte 2)

prof. Luis Otavio Alvares

INE/UFSC

Page 2: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Utiliza uma representação comprimida do banco de dados usando uma FP-tree

Depois da construção da FP-tree utiliza a abordagem de dividir para conquistar para encontrar os conjuntos de itens fechados frequentes

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Page 3: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree

FP-Tree é uma estrutura de dados compacta para a mineração eficiente de padrões freqüentes.

Considere o seguinte banco de dados transacional (duas primeiras colunas) e suporte = 3:

TID Itens Itens Freqüentes (Ordenados p/ frequência)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

Page 4: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Observações

1. Como somente os itens freqüentes serão importantes na mineração de padrões freqüentes, é necessário realizar uma varredura no banco de dados para identificar o conjunto de itens freqüentes.

2. O armazenamento do conjunto de itens freqüentes em uma estrutura compacta pode evitar varreduras repetidas do banco de dados.

4

21/04/23

Page 5: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Observações

3. Se múltiplas transações compartilham um conjunto de itens freqüentes idêntico, eles podem ser agrupados em um único conjunto com o número de ocorrências registrado em uma variável count.

– É fácil verificar se dois conjuntos são idênticos se os itens freqüentes de todas as transações estão ordenados conforme uma ordem fixada.

5

21/04/23

Page 6: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Observações

4. Se duas transações compartilham um prefixo comum, conforme uma ordenação dos itens freqüentes, as partes compartilhadas podem ser agrupadas utilizando uma única estrutura de prefixo, desde que a variável count seja computada corretamente.

– Se os itens freqüentes estão ordenados de forma decrescente de valores de freqüência, existem melhores chances de que mais prefixos possam ser compartilhados.

6

21/04/23

Page 7: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Execução

1. Primeira varredura no banco de dados para obter a lista ordenada L dos itens freqüentes:

– L = <(f:4), (c:4), (a:3), (b:3), (m:3), (p:3)>

TID Itens Itens Freqüentes (Ordenados)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

7

Page 8: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Execução

2. Criação da raiz, nomeada com null.

TID Itens Itens Freqüentes (Ordenados)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

21/04/23

root

Page 9: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Execução

3. Nova varredura do BD, transação por transação:

TID Itens Itens Freqüentes (Ordenados)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

Item Início da lista de nodos

f

c

a

b

m

p

9

21/04/23

f:1

c:1

a:1

m:1

p:1

root

Page 10: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Execução

3. Nova varredura do BD, transação por transação:

TID Itens Itens Freqüentes (Ordenados)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

Item Início da lista de nodos

f

c

a

b

m

p

21/04/23

f:2

c:2

a:2

m:1

p:1

b:1

m:1

root

Page 11: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Execução

3. Nova varredura do BD, transação por transação:

TID Itens Itens Freqüentes (Ordenados)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

Item Início da lista de nodos

f

c

a

b

m

p

11

21/04/23

f:3

c:2

a:2

m:1

p:1

b:1

b:1

m:1

root

Page 12: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Execução

3. Nova varredura do BD, transação por transação:

TID Itens Itens Freqüentes (Ordenados)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

Item Início da lista de nodos

f

c

a

b

m

p

12

21/04/23

f:3

c:2

a:2

m:1

p:1

b:1

b:1

b:1

c:1

p:1

m:1

root

Page 13: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Execução

3. Nova varredura do BD, transação por transação:

TID Itens Itens Freqüentes (Ordenados)

100 f, a, c, d, g, i, m, p f, c, a, m, p

200 a, b, c, f, l, m, o f, c, a, b, m

300 b, f, h, j, o f, b

400 b, c, k, s, p c, b, p

500 a, f, c, e, l, p, m, n f, c, a, m, p

Item Início da lista de nodos

f

c

a

b

m

p

13

21/04/23

f:4

c:3

a:3

m:2

p:2

b:1

b:1

b:1

c:1

p:1

m:1

root

Page 14: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Análise

2 varreduras do banco de dados:1. Contar itens frequentes

2. Gerar a FP-tree

O custo para inserir uma transação Trans na FP-Tree é O(|Trans|), onde |Trans| é o número de itens freqüentes em Trans.

14

21/04/23

Page 15: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

FP-Tree - Análise

Dado um banco de dados transacional DB e um suporte mínimo minSup, sua FP-Tree correspondente contém toda a informação necessária para a mineração de padrões freqüentes no DB (completeness).

Sem considerar a raiz, o tamanho de uma FP-Tree é limitado ao total de ocorrências dos itens freqüentes no DB e a altura é limitada pelo maior número de itens freqüentes em uma transação (compactness).

Diferentemente do método Apriori-like que pode gerar um número exponencial de candidatos no pior caso, sob nenhuma circunstância uma FP-Tree com um número exponencial de nodos será gerada.

15

21/04/23

Page 16: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets. Jian Pei, Jiawei Han e Runying Mao

16

21/04/23

Page 17: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Seja o seguinte arquivo de dados e a respectiva FP-tree

(minsup=2)

TID Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

Page 18: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Lista de itens frequentes (minsup=2)

f_list = <c:4, e:4, f:4, a:3, d:2>

Os frequent closed itemsets podem ser divididos em 5 subconjuntos não sobrepostos:– Os subconjuntos que contém d

– Os subconjuntos que contém a mas não d

– Os subconjuntos que contém f mas não a nem d

– Os subconjuntos que contém e mas não f, a nem d

– Os subconjuntos que contém somente c

TID Itens

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

Page 19: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Os subconjuntos que contém d

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

f:1

a:1

c:2

f:1

a:1

e:1

null

sup(d) = 2

TDB|d = <cefa, cfa>

sup(cefad) = 1sup(cfad) = 2

cfad é um frequent closed itemset

FP-tree originald-conditional

Page 20: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Os subconjuntos que contém a mas não d

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

FP-tree original

f:1

c:2

f:1

e:1

null

e:1

sup(a) = 3

TDB|a = <cef, cf, e>Nenhum tem suporteigual ao de a:

sup(cefa) = 1sup(ea) = 2sup(cfa) = 1 , então

a é um frequent closed itemset

a-conditional

Page 21: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

a-Conditional

f:1

c:2

f:1

e:1

null

e:1

f_list_a = <c : 2, e : 2, f : 2>

Os frequent closed itemsets podem ser divididos em 3 subconjuntos não sobrepostos:Os subconjuntos que contém af mas não dOs subconjuntos que contém ae mas não d nem fOs subconjuntos que contém ac mas não d, e ou f

c:2

e:1

null

af:2

c:1

null

ae:2 minsup=2

c:2

null

ac:2

TDB|ea = <c>

ae é um frequent closed itemset. af:2 e ac:2 não são porque tem o mesmo suporte que cfad:2, que é um CFI

Page 22: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Os subconjuntos que contém f mas não a nem d

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

FP-tree original

c:4

e:3

null

sup(f) = 4

TDB|f = <ce, c>

sup(cef) = 3sup(cf) = 4

cf é frequent closed itemset, poissup(f) = sup(cf)

cef é frequent closed itemset, poisnão é subconjunto de qquer itemsetencontrado com suporte idêntico.

f-conditional

Page 23: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Os subconjuntos que contém e mas não f, a

nem d

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

FP-tree original

c:3

null

sup(e) = 4

TDB|e = <c>

sup(ce) = 3

ce não é frequent closed itemset, poissup(ce) = sup(cef) que é FCI

e é frequent closed itemset, pois o seu suporte é 4 e não 3

e-conditional

Page 24: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Os subconjuntos que contém somente c

Não é necessário pesquisar no c-Conditional Database pois c é um Subconjunto de cf, que é um frequent closed itemset com o mesmo suporte de c.

Page 25: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Resumo

Page 26: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Mineração de Padrões Sequenciais

Agrawal, R.; Srikant, R., "Mining sequential patterns". Proceedings of the Eleventh International Conference on Data Engineering, pp.3-14, 1995

Page 27: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

MP-Sequenciais

Mineração de Padrões– Quais itens são comprados juntos em uma transação?

Mineração de Padrões Sequenciais– Quais itens são comprados em sequência, mas em

ocasiões diferentes?

27

Page 28: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

MP-Sequenciais

• Suporte mínimo: – Relativo a quantidade de clientes em relação ao

número total de clientes – Diferente do apriori que considera a quantidade total

de transações

• Comparando– MP:

•Ocorrência do item número de transações

– MP-Sequencial:•Número de clientes com a transação número total de clientes

28

Page 29: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

MP-Sequenciais

Problema:1. Dado uma base de dados D com transações, quais

as associações das transações dos clientes com o passar do tempo?

29

Page 30: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

MP-Sequenciais

• Definições:– Conjunto de Itens: itens comprados ao mesmo tempo (na

mesma transação)– Sequência: sequência de conjuntos de itens– Sequência máxima: Não está contida em nenhuma outra

sequência.• Exemplos:

– <(3) (4,5) (8)>– <(3) (4,5) (8)> está contido em <(7) (3,8) (9) (4,5,6) (8)>– A sequência <(3) (5)> não está contida em <(3,5)>

30

Notação: O que está entre parênteses representa uma transação e os números representam os itens comprados. A ordem das transações é da esquerda para a direita

Page 31: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

MP-Sequenciais

Problema:1. Dada uma base de dados D com transações, quais

as associações das transações dos clientes com o passar do tempo?

2. Dado D, mineração de padrão sequencial é encontrar as sequências máximas entre todas as sequências que tem certo suporte mínimo.

3. Ex:

31

comprador Sequencia1 (30) (90)2 (10, 20) (30) (40, 60, 70)3 (30, 50, 70)4 (30) (40, 70) (90)5 (90)

Padrões sequenciais (minsup=25%)

(30) (90)(30) (40, 70)

Page 32: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

MP-Sequenciais

Relembrando o suporte– MP:

Ocorrência do item número de transações

– MP-Sequencial:Número de clientes com a transação número de clientes

32

Page 33: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Fases

Sort Litemset Transformação Sequencia Maximal

33

Page 34: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Sort

Ordenar a base de dados por ID do comprador e por data da transação;

Realizado de forma simples por um comando SQL;

34

Page 35: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Sort

ID comprador

Data Itens

1 25/03/93 301 30/03/93 902 10/06/93 10, 205 12/06/93 902 15/06/93 302 20/06/93 40, 60, 70

3 25/06/93 30, 50, 70

4 25/06/93 304 30/06/93 40, 704 25/07/93 90

ID comprador

Data Itens

1 25/03/93 301 30/03/93 902 10/06/93 10, 202 15/06/93 302 20/06/93 40, 60, 70

3 25/06/93 30, 50, 70

4 25/06/93 304 30/06/93 40, 704 25/07/93 905 12/06/93 90

35

Arquivo original Após o sort

Page 36: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Fases

• Sort• Litemset• Transformação• Sequencia• Maximal

36

Page 37: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Litemset

• Encontrar o conjunto de todos os l-itemsets (itemsets frequentes).

• Passos:1. Agrupar dados por ID;2. Gerar itemsets frequentes;

37

Page 38: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Litemset – Agrupamento

ID comprador

Data Itens

1 25/03/93 301 30/03/93 902 10/06/93 10, 202 15/06/93 302 20/06/93 40, 60, 703 25/06/93 30, 50, 704 25/06/93 304 30/06/93 40, 704 25/07/93 905 12/06/93 90

ID comprador Itens1 <(30) (90)>2 <(10, 20) (30) (40, 60, 70)>3 <(30, 50, 70)>4 <(30) (40, 70) (90)>5 <(90)>

38

Page 39: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Litemset – encontrar os conjuntos frequentes

ID comprador Itens1 <(30) (90)>2 <(10,20) (30) (40,60, 70)>3 <(30, 50, 70)>4 <(30) (40, 70) (90)>5 <(90)>

39

Considerando minsup = 2, os conjuntos frequentes são:

(30), (40), (70), (90) e (40,70)

Page 40: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Fases

• Sort• Litemset• Transformação• Sequencia• Maximal

40

Page 41: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Transformação

• Em uma transformação de sequência de um comprador:

– Cada transação é substituída pelo conjunto de todos os l-itemsets contidos na transação;

• Passos:1. Transformação (considera minSup)2. Mapeamento;

41

Page 42: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Transformação – suporte mínimo

ID comprador Itens1 <{(30)} {(90)}>2 <{(30)} {(40), (70), (40 , 70)}>3 <{(30),(70)}>4 <{(30)} {(40), (70), (40, 70)} {(90)}>5 <{(90)}>

ID comprador Itens1 <(30) (90)>2 <(10,20) (30) (40, 60, 70)>3 <(30, 50, 70)>4 <(30) (40, 70) (90)>5 <(90)>

Page 43: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

ID comprador

Itens

1 {1} {5}2 {1} {2, 3, 4}3 {1, 3}4 {1} {2, 3, 4} {5}5 {5}

Transformação – Mapeamento

Mapa

Item Símbolo

(30) 1

(40) 2

(70) 3

(40 70) 4

(90) 5

43

ID comprador Itens1 <{(30)} {(90)}>2 <{(30)} {(40), (70), (40 70)}>3 <{(30), (70)}>4 <{(30)} {(40), (70), (40 70)} {(90)}>5 <{(90)}>

Page 44: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Fases

• Sort• Litemset• Transformação• Sequencia• Maximal

44

Page 45: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Sequencia

Usa o conjunto de l-itemsets para encontrar as sequências máximas desejadas.

Conta todas as l-sequencias, incluindo as não máximas;Ex.: AprioriAll

45

Page 46: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Fases

• Sort• Litemset• Transformação• Sequencia• Maximal

46

Page 47: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Maximal

Encontrar as sequências máximas entre as sequências frequentes.

47

Page 48: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Maximal

l-sequências{1} {5}{1} {2, 3}{1}

l-sequências(30) (90)(30) (40 70)

48

Mapa

Item Símbolo

(30) 1

(40) 2

(70) 3

(40 70) 4

(90) 5

Page 49: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Exemplo de algoritmo: AprioriAll

A cada fase gera as k-sequências frequentes1. Recebe os dados da fase de transformação para

inicializar o 1-sequência

Base de exemplo (diferente da anterior): Suporte mínimo: 2

Base de Dados

{1 5} {2} {3} {4}

{1} {3} {4} {3 5}

{1} {2} {3} {4}

{1} {3} {5}

{4} {5}

1-sequencia Suporte1 42 23 44 45 4

49

Page 50: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

50

Page 51: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

Continuando com o exemplo para gerar

2-sequências frequentes: gera os candidatos

1-sequencia Suporte1 42 23 44 45 4

2-sequencia1 1 2 5 4 41 2 3 1 4 51 3 3 2 5 11 4 3 3 5 21 5 3 4 5 32 1 3 5 5 42 2 4 1 5 52 3 4 22 4 4 3

51

Page 52: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

52

Page 53: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

Verifica o suporte mínimo para as 2-sequências (Passando pelo banco):

Retira as que não possuem o suporte mínimo:

2-sequencia Suporte

1 2 2

1 3 4

1 4 3

1 5 3

2 3 2

2 4 2

3 4 3

3 5 2

4 5 2

Base de Dados

{1 5} {2} {3} {4}

{1} {3} {4} {3 5}

{1} {2} {3} {4}

{1} {3} {5}

{4} {5}

53

Page 54: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

54

Page 55: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

Continuando com o exemplo para gerar

3-sequências frequentes , inicialmente gera as 3-sequências candidatas

55

Page 56: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

2-sequencia Suporte

1 2 2

1 3 4

1 4 3

1 5 3

2 3 2

2 4 2

3 4 3

3 5 2

4 5 2

?

56

Page 57: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

2-sequencia Suporte

1 2 2

1 3 4

1 4 3

1 5 3

2 3 2

2 4 2

3 4 3

3 5 2

4 5 2

1 2 5 ?

5 2 1 ?

57

Page 58: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

2-sequencia Suporte

1 2 21 3 41 4 31 5 32 3 22 4 23 4 33 5 24 5 2

São candidatas as 3-sequências em que as 3 sequencias de 2 itens que a formam são frequentes

Ex: 1 2 3 é candidata porque 1 2, 1 3 e 2 3 são frequentes

58

3-sequência1 2 31 2 41 3 41 3 51 4 52 3 43 4 5

Page 59: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

59

Page 60: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

Agora sim! Vamos ao banco!

3-sequencia Suporte

1 2 3 2

1 2 4 2

1 3 4 3

1 3 5 2

1 4 5 1

2 3 4 2

3 4 5 1

Base de Dados

{1 5} {2} {3} {4})

{1} {3} {4} {3 5})

{1} {2} {3} {4})

{1} {3} {5})

{4} {5})

60

Page 61: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

61

Page 62: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

Continuando com o exemplo para gerar

4-sequências frequentes:

4-sequencia1 2 3 4

3-sequencia Suporte

1 2 3 2

1 2 4 2

1 3 4 3

1 3 5 2

2 3 4 2

62

Page 63: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

63

Page 64: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

AprioriAll

Contando com o banco:

4-sequencia Suporte1 2 3 4 2

Base de Dados

{1 5} {2} {3} {4}

{1} {3} {4} {3 5}

{1} {2} {3} {4}

{1} {3} {5}

{4} {5}

64

Page 65: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

L4

1 2 3 4

AprioriAll- sequências máximas

Passos forwardRemove as sequências que são sub-sequência

de outra sequência

C3

1 2 31 2 41 3 41 3 52 3 4

L2

1 21 31 41 52 32 43 43 54 5

Máximas1 2 3 4

65

Page 66: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

L4

1 2 3 4

AprioriAll

Passos forwardRemove as sequências que são sub-sequência

de outra sequência

L3

1 2 31 2 41 3 41 3 52 3 4

L2

1 21 31 41 52 32 43 43 54 5

Máximas1 2 3 4

Sub-sequências

66

Page 67: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

L4

1 2 3 4

AprioriAll

Passos forwardRemove as sequências que são sub-sequência

de outra sequência

L3

1 3 5L2

1 21 31 41 52 32 43 43 54 5

Máximas1 2 3 41 3 5

Sub-sequências

67

Page 68: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

L4

1 2 3 4

AprioriAll

Passos forwardRemove as sequências que são sub sequência

de outra sequência

L3

1 3 5L2

4 5

Máximas1 2 3 41 3 54 5

68

Page 69: Associação:  algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Referências

Agrawal, R.; Srikant, R., Mining sequential patterns. Proceedings of the Eleventh International Conference on Data Engineering, pp.3-14, 1995.

Jiawei Han, Jian Pei, and Yiwen Yin. Mining Frequent Patterns without Candidate Generation , ACM-SIGMOD, 2000.

Jian Pei, Jiawei Han e Runying Mao. CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets. ACM-SIGMOD DMKD workshop, 2000.