Upload
internet
View
105
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
Fases
• Sort• Litemset• Transformation• Sequence• Maximal
8Anderson Santos e Rodrigo Wilkens
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
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
Fases
• Sort• Litemset• Transformation• Sequence• Maximal
11Anderson Santos e Rodrigo Wilkens
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
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
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
Fases
• Sort• Litemset• Transformation• Sequence• Maximal
15Anderson Santos e Rodrigo Wilkens
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
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
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
Fases
• Sort• Litemset• Transformation• Sequence• Maximal
19Anderson Santos e Rodrigo Wilkens
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
Fases
• Sort• Litemset• Transformation• Sequence• Maximal
21Anderson Santos e Rodrigo Wilkens
Maximal
• Encontrar a sequência máxima entre os conjuntos de maior sequência.
22Anderson Santos e Rodrigo Wilkens
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
Fases
• Sort• Litemset• Transformation• Sequence• Maximal
24Anderson Santos e Rodrigo Wilkens
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
AprioriAll
26Anderson Santos e Rodrigo Wilkens
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
AprioriAll
28Anderson Santos e Rodrigo Wilkens
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
AprioriAll
30Anderson Santos e Rodrigo Wilkens
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
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
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
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
AprioriAll
35Anderson Santos e Rodrigo Wilkens
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
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
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
AprioriAll
39Anderson Santos e Rodrigo Wilkens
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
AprioriAll
41Anderson Santos e Rodrigo Wilkens
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
AprioriAll
43Anderson Santos e Rodrigo Wilkens
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
AprioriAll
45Anderson Santos e Rodrigo Wilkens
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Performance - Relativa
• Gerou-se 4 BD com sequências de usuários.
76Anderson Santos e Rodrigo Wilkens
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
Performance - Escalabilidade
78Anderson Santos e Rodrigo Wilkens
Performance - Escalabilidade
79Anderson Santos e Rodrigo Wilkens
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
Performance - Escalabilidade
81Anderson Santos e Rodrigo Wilkens
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