82
Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International Conference on , vol., no., pp.3-14, 6-10 Mar 1995 Apresentado por Anderson Santos e Rodrigo Wilkens Descoberta de Conhecimentos de Base de Dados – UFRGS 2009

Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Embed Size (px)

Citation preview

Page 1: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Mineração de Padrões Sequenciais

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

Apresentado por Anderson Santos e Rodrigo WilkensDescoberta de Conhecimentos de Base de Dados – UFRGS 2009

Page 2: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

MP-Sequenciais

• Mineração de Padrões– Quais itens são comprados juntos em um

transação?

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

em dias diferentes?– Sujeira entre sequências!

2Anderson Santos e Rodrigo Wilkens

Page 3: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

MP-Sequenciais

• Suporte mínimo: – Relativo a quantidade de clientes pelo número de

clientes total– 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 de clientes total

3Anderson Santos e Rodrigo Wilkens

Page 4: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

MP-Sequenciais

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

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

4Anderson Santos e Rodrigo Wilkens

Page 5: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

MP-Sequenciais

• Definições:– Conjunto de Itens: itens comprados ao mesmo tempo– 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)}

5Anderson Santos e Rodrigo Wilkens

Page 6: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

MP-Sequenciais

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

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

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

6Anderson Santos e Rodrigo Wilkens

Page 7: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

MP-Sequenciais

• 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

7Anderson Santos e Rodrigo Wilkens

Page 8: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Fases

• Sort• Litemset• Transformation• Sequence• Maximal

8Anderson Santos e Rodrigo Wilkens

Page 9: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Sort

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

• Realizado de forma simples por um comando SQL;

9Anderson Santos e Rodrigo Wilkens

Page 10: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Sort

ID comprador Data Itens1 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, 703 25/06/93 30, 50, 704 25/06/93 304 30/06/93 40, 704 25/07/93 90

ID comprador Data Itens1 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

10Anderson Santos e Rodrigo Wilkens

Page 11: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Fases

• Sort• Litemset• Transformation• Sequence• Maximal

11Anderson Santos e Rodrigo Wilkens

Page 12: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Litemset

• Encontrar o conjunto de todos os litemsets.– Encontrando o conjunto de todas as grandes

sequências (powerset das sequências).

• Passos:1.Agrupar dados por ID;2.Geração das sub-transações;

12Anderson Santos e Rodrigo Wilkens

Page 13: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Litemset – Agrupamento

ID comprador Data Itens1 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)

13Anderson Santos e Rodrigo Wilkens

Page 14: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Litemset – Sub-transações

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

ID comprador Itens1 {(30)} {(90)}2 {(10)} {(20)} {(10, 20)} {(30)} {(40)} {(60)} {(70)} {(40, 60)}

{(40, 70)} {(60, 70)} ...3 {(30)} {(50)} {(70)} {(30), (50), (30 50)} {(30 50)}

{(30), (70), (30 70)} {(30 70)} {(50), (70), (50 70)} {(50 70)} ...4 {(30)} {(40)} {(70)} {(40 70)} {(40), (70), (40 70)} {(90)}5 {(90)}

14Anderson Santos e Rodrigo Wilkens

Page 15: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Fases

• Sort• Litemset• Transformation• Sequence• Maximal

15Anderson Santos e Rodrigo Wilkens

Page 16: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Transformation

• 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 pelo limite do minSup; (semelhante

ao apriori)

2. Mapeamento;

16Anderson Santos e Rodrigo Wilkens

Page 17: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Transformation – Limite

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)} {(10, 20)} {(30)} {(40)} {(60)} {(70)} {(40, 60)}

{(40, 70)} {(60, 70)} ...3 {(30)} {(50)} {(70)} {(30), (50), (30 50)} {(30 50)}

{(30), (70), (30 70)} {(30 70)} {(50), (70), (50 70)} {(50 70)} ...4 {(30)} {(40)} {(70)} {(40 70)} {(40), (70), (40 70)} {(90)}5 {(90)}

Suporte = 25%

17Anderson Santos e Rodrigo Wilkens

Page 18: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

ID comprador Itens1 {1} {5}2 {1} {2, 3, 4}3 {1, 3}4 {1} {2, 3, 4} {5}5 {5}

Transformation – Mapeamento

Mapa

Item Símbolo

(30) 1

(40) 2

(70) 3

(40 70) 4

(90) 5

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

18Anderson Santos e Rodrigo Wilkens

Page 19: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Fases

• Sort• Litemset• Transformation• Sequence• Maximal

19Anderson Santos e Rodrigo Wilkens

Page 20: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Sequence

• Usa o conjunto de l-itemsets para encontrar as sequências grandes desejadas.

• Algoritmos:– Cont All

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

– Cont Some• Interesse é nas l-sequências máximas, então, não conta

sequências que não são contidas em um l-sequência; • Ex.: AprioriSome e DynamicSome

20Anderson Santos e Rodrigo Wilkens

Page 21: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Fases

• Sort• Litemset• Transformation• Sequence• Maximal

21Anderson Santos e Rodrigo Wilkens

Page 22: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Maximal

• Encontrar a sequência máxima entre os conjuntos de maior sequência.

22Anderson Santos e Rodrigo Wilkens

Page 23: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Maximal

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

Mapa

Item Símbolo

(30) 1

(40) 2

(70) 3

(40 70) 4

(90) 5L-sequências(30) (90)(30) (40 70)

23Anderson Santos e Rodrigo Wilkens

Page 24: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Fases

• Sort• Litemset• Transformation• Sequence• Maximal

24Anderson Santos e Rodrigo Wilkens

Page 25: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

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

inicializar o 1-sequência• Base de exemplo:

Base de Dados

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

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

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

{1} {3} {5})

{4} {5})

1-sequence Support1 42 23 44 45 4

25Anderson Santos e Rodrigo Wilkens

Page 26: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

26Anderson Santos e Rodrigo Wilkens

Page 27: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

• Continuando com o exemplo para gerar 2-sequências grandes:– Para tal, ele realiza um join com k-1 anterior:

1-sequence Support1 42 23 44 45 4

2-sequence1 2 3 1 5 21 3 3 2 5 31 4 3 4 5 41 5 3 52 1 4 12 2 4 22 3 4 32 4 4 52 5 5 1

27Anderson Santos e Rodrigo Wilkens

Page 28: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

28Anderson Santos e Rodrigo Wilkens

Page 29: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

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-sequence Support

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

Base de Dados

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

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

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

{1} {3} {5})

{4} {5})29Anderson Santos e Rodrigo Wilkens

Page 30: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

30Anderson Santos e Rodrigo Wilkens

Page 31: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

• Continuando com o exemplo para gerar 3-sequências grandes (apriori-generate) :– Para tal, ele realiza um join com (k-1)-sequências

anterior, considerando as sequências similares– Depois poda as sequências geradas baseando-se

na lista anterior (k-1)-sequências.

31Anderson Santos e Rodrigo Wilkens

Page 32: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll2-sequence Support

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

?

32Anderson Santos e Rodrigo Wilkens

Page 33: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll2-sequence Support

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

1 2 5 ?

5 2 1 ?

33Anderson Santos e Rodrigo Wilkens

Page 34: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll2-sequence Support

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

3-sequence1 2 3 1 4 51 2 4 1 5 21 2 5 1 5 31 3 2 1 5 41 3 4 2 3 41 3 5 2 4 31 4 2 3 4 51 4 3 3 5 4

34Anderson Santos e Rodrigo Wilkens

Page 35: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

35Anderson Santos e Rodrigo Wilkens

Page 36: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

3-sequence1 2 3 1 4 51 2 4 1 5 21 2 5 1 5 31 3 2 1 5 41 3 4 2 3 41 3 5 2 4 31 4 2 3 4 51 4 3 3 5 4

2-sequence Support

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

• Poda as sequências que possuem sub-sequências que não estão em k-1-sequence:

36Anderson Santos e Rodrigo Wilkens

Page 37: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

3-sequence1 2 3 1 4 51 2 4 1 5 21 2 5 1 5 31 3 2 1 5 41 3 4 2 3 41 3 5 2 4 31 4 2 3 4 51 4 3 3 5 4

2-sequence Support

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

• Realizando a podagem

37Anderson Santos e Rodrigo Wilkens

Page 38: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

3-sequence1 2 3 1 4 51 2 4 1 5 21 2 5 1 5 31 3 2 1 5 41 3 4 2 3 41 3 5 2 4 31 4 2 3 4 51 4 3 3 5 4

• Se não utilizasse a tática do join, o número de podas seria maior e não seria somente necessário verificar a sub-sequencia final!

3-sequence1 2 31 2 41 3 41 3 51 4 52 3 43 4 5

38Anderson Santos e Rodrigo Wilkens

Page 39: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

39Anderson Santos e Rodrigo Wilkens

Page 40: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

• Agora sim! Vamos ao banco!

3-sequence 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})

40Anderson Santos e Rodrigo Wilkens

Page 41: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

41Anderson Santos e Rodrigo Wilkens

Page 42: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

• Continuando com o exemplo para gerar 4-sequências grandes:

4-sequence1 2 3 41 2 4 31 3 4 51 3 5 4

3-sequence Suporte

1 2 3 2

1 2 4 2

1 3 4 3

1 3 5 2

2 3 4 2

42Anderson Santos e Rodrigo Wilkens

Page 43: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

43Anderson Santos e Rodrigo Wilkens

Page 44: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

• Podando:

4-sequence1 2 3 41 2 4 31 3 4 51 3 5 4

3-sequence Suporte1 2 3 21 2 4 21 3 4 31 3 5 22 3 4 2

4-sequence1 2 3 4

44Anderson Santos e Rodrigo Wilkens

Page 45: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

45Anderson Santos e Rodrigo Wilkens

Page 46: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriAll

• Contando com o banco:

4-sequence 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})

46Anderson Santos e Rodrigo Wilkens

Page 47: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriAllPassos forward

Remove as sequências sem suporte mínimo ou

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

47Anderson Santos e Rodrigo Wilkens

Page 48: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriAllPassos forward

Remove as sequências sem suporte mínimo ou 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

48Anderson Santos e Rodrigo Wilkens

Page 49: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriAllPassos forward

Remove as sequências sem suporte mínimo ou 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

49Anderson Santos e Rodrigo Wilkens

Page 50: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriAllPassos forward

Remove as sequências sem suporte mínimo ou

que são sub sequência de outra sequência

L3

1 3 5L2

4 5

Máximas1 2 3 41 3 54 5

50Anderson Santos e Rodrigo Wilkens

Page 51: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriSome

• Conta apenas as sequências de tamanho k;• Diminui tempo desperdiçado:– Conta sequências não máximas;– Conta extensões de pequenas sequências

candidatas;

51Anderson Santos e Rodrigo Wilkens

Page 52: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriSome

• Comportamentos Extremos:– Incremento de K pelo seu sucessor transforma-

se no aprioriAll– Incremento por multiplicação extrema corta as

sequências não máximas e as candidatas de tamanho pequeno.

52Anderson Santos e Rodrigo Wilkens

Page 53: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriSome

• Heurística hitk =|Lk|/|Ck|– hitk < 0,666 k+1

– hitk < 0,75 k+2

– hitk < 0,80 k+3

– hitk < 0,85 k+4

– hitk 0,85 k+5

53Anderson Santos e Rodrigo Wilkens

Page 54: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriSome

• Geração de candidatos:– Utiliza o aprioriGenerate• forward

– Realiza a produção de candidatos– Remove as sequências encontradas que não são máximas.

• backward– Conta sequências para tamanhos não contados na fase

forward;– Remove as sequências contidas em sequências maiores;

54Anderson Santos e Rodrigo Wilkens

Page 55: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

AprioriSomeBase de Dados

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

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

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

{1} {3} {5})

{4} {5})

Passos backwardConta C1 e cria L1

Conta C2 e cria L2

Gera C3

Gera a C4 partir de C3

Realiza a poda em C4 e

cria L4

Gera C5|C5 =

1-sequence Support1 42 23 44 45 4

55Anderson Santos e Rodrigo Wilkens

Page 56: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

1-sequence Support1 42 23 44 45 4

AprioriSomePassos backward

Conta C1 e cria L1

Conta C2 e cria L2

Gera C3

Gera a C4 partir de C3

Realiza a poda em C4 e

cria L4

Gera C5|C5 = 2-sequence Support1 2 21 3 41 4 31 5 32 3 22 4 23 4 33 5 24 5 2

k = 1

56Anderson Santos e Rodrigo Wilkens

Page 57: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

2-sequence Support1 2 21 3 41 4 31 5 32 3 22 4 23 4 33 5 24 5 2

AprioriSomePassos backward

Conta C1 e cria L1

Conta C2 e cria L2

Gera C3

Gera a C4 partir de C3

Realiza a poda em C4 e

cria L4

Gera C5|C5 = C3

1 2 31 2 41 3 41 3 52 3 43 4 5

f(k) = 2k

k = 2

57Anderson Santos e Rodrigo Wilkens

Page 58: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

C3

1 2 31 2 41 3 41 3 52 3 43 4 5

AprioriSomePassos backward

Conta C1 e cria L1

Conta C2 e cria L2

Gera C3

Gera a C4 partir de C3

Realiza a poda em C4 e

cria L4

Gera C5|C5 = C4

1 2 3 41 3 4 5

58Anderson Santos e Rodrigo Wilkens

Page 59: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

C4

1 2 3 41 3 4 5

AprioriSomePassos backward

Conta C1 e cria L1

Conta C2 e cria L2

Gera C3

Gera a C4 partir de C3

Realiza a poda em C4 e

cria L4

Gera C5|C5 = L4

1 2 3 4

59Anderson Santos e Rodrigo Wilkens

Page 60: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos backward

Conta C1 e cria L1

Conta C2 e cria L2

Gera C3

Gera a C4 partir de C3

Realiza a poda em C4 e

cria L4

Gera C5|C5 = C5

60Anderson Santos e Rodrigo Wilkens

Page 61: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos forward

Remove as sequências sem suporte mínimo ou

que são sub sequência de outra sequência

C3

1 2 31 2 41 3 41 3 52 3 43 4 5

L2

1 21 31 41 52 32 43 43 54 5

Máximas1 2 3 4

L1

...

61Anderson Santos e Rodrigo Wilkens

Page 62: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos forward

Remove as sequências sem suporte mínimo ou

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

Remove 3 4 5por não ter suporte

L1

... 62Anderson Santos e Rodrigo Wilkens

Page 63: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos forward

Remove as sequências sem suporte mínimo ou 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

L1

... 63Anderson Santos e Rodrigo Wilkens

Page 64: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos forward

Remove as sequências sem suporte mínimo ou

que são sub sequência de outra sequência

L3

1 3 5

L2

1 21 31 41 52 32 43 43 54 5

Máximas1 2 3 41 3 5

64Anderson Santos e Rodrigo Wilkens

Page 65: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos forward

Remove as sequências sem suporte mínimo ou 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

L1

12345 65Anderson Santos e Rodrigo Wilkens

Page 66: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos forward

Remove as sequências sem suporte mínimo ou

que são sub sequência de outra sequência

L3

1 3 5L2

4 5

Máximas1 2 3 41 3 54 5

L1

12345

66Anderson Santos e Rodrigo Wilkens

Page 67: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

L4

1 2 3 4

AprioriSomePassos forward

Remove as sequências sem suporte mínimo ou que são sub sequência

de outra sequência

L3

1 3 5L2

4 5

Máximas1 2 3 41 3 54 5

L1

12345

Sub sequências

67Anderson Santos e Rodrigo Wilkens

Page 68: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome• Definições:– Passon: De quantas em quantas n-sequências irá pular.

• Fases:• Inicialização

– Realiza a produção de candidatos como aprioriall até a n-sequência (utiliza apriori-generate).

• Forward– Apenas encontra as k-sequências multiplas de n. Ex: Passo = 3,

encontrará C6 baseado no join de L3 com L3, para C9 é feito o join de L6 com L3 (utilizando otf-generate).

• Intermediate– Seguindo o exemplo acima, serão gerados C8 e C7 depois de deletar as

sequências não máximas (backward phase), o processo é repetido para C4 e C5 (na implementação atual a fase intermediária é mesclada com a fase de retorno (backward) por questões de desempenho

– Utiliza o apriori-generate

68Anderson Santos e Rodrigo Wilkens

Page 69: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome

• Fases:• otf-generate

– Argumentos: Lk e Lj e as sequências dos usuários.

– Realiza o join entre Lk e Lj encontrados dentro de cada sequência de usuário.

69Anderson Santos e Rodrigo Wilkens

Page 70: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome

• Exemplificado:– Utilizando o banco de exemplo anterior.– Passo = 2.

• O processo:• Inicializa como o aprioriall até L2

2-sequence Support

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

70Anderson Santos e Rodrigo Wilkens

Page 71: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome

• Forward– Pula para geração de C4.

– É encontrado a partir dos dados (usando o otf-generate):

Sequência Início Fim1 2 1 21 3 1 31 4 1 42 3 2 32 4 2 43 4 3 4

Base de Dados

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

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

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

{1} {3} {5})

{4} {5})

4-sequence Suporte1 2 3 4 1

2-sequence Support

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

71Anderson Santos e Rodrigo Wilkens

Page 72: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome

• Forward– Pula para geração de C4.

– É encontrado a partir dos dados (usando o otf-generate):• Lk e Lj são L2. Sequência Início Fim

1 3 1 21 3 1 31 4 1 41 5 1 43 4 2 33 5 2 44 5 3 4

Base de Dados

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

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

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

{1} {3} {5})

{4} {5})4-sequence Suporte1 3 4 5 1

2-sequence Support

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

72Anderson Santos e Rodrigo Wilkens

Page 73: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome

• Forward– Pula para geração de C4.

– É encontrado a partir dos dados (usando o otf-generate):

Sequência Início Fim1 2 1 21 3 1 31 4 1 42 3 2 32 4 2 43 4 3 4

Base de Dados

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

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

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

{1} {3} {5})

{4} {5})

4-sequence Suporte1 2 3 4 2

2-sequence Support

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

73Anderson Santos e Rodrigo Wilkens

Page 74: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome

• Forward– Pula para geração de C4.

– É encontrado a partir dos dados (usando o otf-generate):

4-sequence Suporte1 2 3 4 21 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})

74Anderson Santos e Rodrigo Wilkens

Page 75: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

DynamicSome

• Backward1. Não são geradas e nem contadas as sequências não máximas de C3:

– 1 2 3; 1 2 4; 1 3 4;– Então somente 1 3 5 é gerado e contada no banco em C3.

2. As 2-sequências não máximas são eliminadas como no AprioriAll e AprioriSome. Gerando o resultado:

Máximas1 2 3 41 3 54 5

75Anderson Santos e Rodrigo Wilkens

Page 76: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Performance - Relativa

• Gerou-se 4 BD com sequências de usuários.

76Anderson Santos e Rodrigo Wilkens

Page 77: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Performance - Relativa

• Não foi possível mostrar execuções do DynamicSome para suporte menor que 0.2%– Devido a geração exagerada de candidatos

• O DynamicSome obteve o pior desempenho• A vantagem do AprioriSome sobre o AprioriAll é

devido a não contar sequências não máximas.• Para pequenos suportes que geram sequências

longas tem-se melhor desempenho com o AprioriSome

77Anderson Santos e Rodrigo Wilkens

Page 78: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Performance - Escalabilidade

78Anderson Santos e Rodrigo Wilkens

Page 79: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Performance - Escalabilidade

79Anderson Santos e Rodrigo Wilkens

Page 80: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Performance - Escalabilidade

• Aumento de dados (por fatores independentes)– Aumento de transações por usuário, mantendo a

média de itens por transação– Aumento da média de itens por transação

mantendo o número de transações por usuário– Suporte mínimo fixo pela quantidade de usuários

(não pela %)

80Anderson Santos e Rodrigo Wilkens

Page 81: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Performance - Escalabilidade

81Anderson Santos e Rodrigo Wilkens

Page 82: Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International

Mineração de Padrões Sequenciais

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

Apresentado por Anderson Santos e Rodrigo WilkensDescoberta de Conhecimentos de Base de Dados – UFRGS 2009