Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Mineração de Padrões Sequenciais
Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 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
2
MP-Sequenciais Mineração de Padrões Mineração de Padrões Sequenciais
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! Anderson Santos e Rodrigo Wilkens
3
MP-Sequenciais Suporte mínimo: Comparando
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 Anderson Santos e Rodrigo Wilkens
4
MP-Sequenciais Problema:
Dado uma base de dados D com transações, quais as relações das transações dos clientes com o passar do tempo? Anderson Santos e Rodrigo Wilkens
5
MP-Sequenciais Definições: Exemplos:
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)} Anderson Santos e Rodrigo Wilkens
6
MP-Sequenciais Problema:
Dado uma base de dados D com transações, quais as relações das transações dos clientes com o passar do tempo? 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. Anderson Santos e Rodrigo Wilkens
7
MP-Sequenciais Suporte MP: MP-Sequencial:
Ocorrência do item número de transações MP-Sequencial: Número de clientes com a transação número de clientes Anderson Santos e Rodrigo Wilkens
8
Fases Sort Litemset Transformation Sequence Maximal
Anderson Santos e Rodrigo Wilkens
9
Sort Ordenar a base de dados por ID do comprador e por data da transação; Realizado de forma simples por um comando SQL; Anderson Santos e Rodrigo Wilkens
10
Sort ID comprador Data Itens 1 25/03/93 30 30/03/93 90 2 10/06/93
10, 20 5 12/06/93 15/06/93 20/06/93 40, 60, 70 3 25/06/93 30, 50, 70 4 30/06/93 40, 70 25/07/93 ID comprador Data Itens 1 25/03/93 30 30/03/93 90 2 10/06/93 10, 20 15/06/93 20/06/93 40, 60, 70 3 25/06/93 30, 50, 70 4 30/06/93 40, 70 25/07/93 5 12/06/93 Anderson Santos e Rodrigo Wilkens
11
Fases Sort Litemset Transformation Sequence Maximal
Anderson Santos e Rodrigo Wilkens
12
Litemset Encontrar o conjunto de todos os litemsets. Passos:
Encontrando o conjunto de todas as grandes sequências (powerset das sequências). Passos: Agrupar dados por ID; Geração das sub-transações; Anderson Santos e Rodrigo Wilkens
13
Litemset – Agrupamento
ID comprador Data Itens 1 25/03/93 30 30/03/93 90 2 10/06/93 10, 20 15/06/93 20/06/93 40, 60, 70 3 25/06/93 30, 50, 70 4 30/06/93 40, 70 25/07/93 5 12/06/93 ID comprador Itens 1 (30) (90) 2 (10, 20) (30) (40, 60, 70) 3 (30, 50, 70) 4 (30) (40, 70) (90) 5 (90) Anderson Santos e Rodrigo Wilkens
14
Litemset – Sub-transações
ID comprador Itens 1 (30) (90) 2 (10, 20) (30) (40, 60, 70) 3 (30, 50, 70) 4 (30) (40, 70) (90) 5 (90) ID comprador Itens 1 {(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)} Anderson Santos e Rodrigo Wilkens
15
Fases Sort Litemset Transformation Sequence Maximal
Anderson Santos e Rodrigo Wilkens
16
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: Transformação pelo limite do minSup; (semelhante ao apriori) Mapeamento; Anderson Santos e Rodrigo Wilkens
17
Transformation – Limite
ID comprador Itens 1 {(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)} ID comprador Itens 1 {(30)} {(90)} 2 {(30)} {(40), (70), (40, 70)} 3 {(30), (70)} 4 {(30)} {(40), (70), (40, 70)} {(90)} 5 {(90)} Suporte = 25% Anderson Santos e Rodrigo Wilkens
18
Transformation – Mapeamento
ID comprador Itens 1 {(30)} {(90)} 2 {(30)} {(40), (70), (40, 70)} 3 {(30), (70)} 4 {(30)} {(40), (70), (40, 70)} {(90)} 5 {(90)} Mapa Item Símbolo (30) 1 (40) 2 (70) 3 (40 70) 4 (90) 5 ID comprador Itens 1 {1} {5} 2 {1} {2, 3, 4} 3 {1, 3} 4 {1} {2, 3, 4} {5} 5 {5} Anderson Santos e Rodrigo Wilkens
19
Fases Sort Litemset Transformation Sequence Maximal
Anderson Santos e Rodrigo Wilkens
20
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 Anderson Santos e Rodrigo Wilkens
21
Fases Sort Litemset Transformation Sequence Maximal
Anderson Santos e Rodrigo Wilkens
22
Maximal Encontrar a sequência máxima entre os conjuntos de maior sequência. Anderson Santos e Rodrigo Wilkens
23
Maximal l-sequências {1} {5} {1} {2, 3} {1} Mapa Item Símbolo
(30) 1 (40) 2 (70) 3 (40 70) 4 (90) 5 L-sequências (30) (90) (30) (40 70) Anderson Santos e Rodrigo Wilkens
24
Fases Sort Litemset Transformation Sequence Maximal
Anderson Santos e Rodrigo Wilkens
25
AprioriAll A cada fase gera as k-sequências grandes
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 Support 1 4 2 2 3 4 5 Anderson Santos e Rodrigo Wilkens
26
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
27
AprioriAll Continuando com o exemplo para gerar 2-sequências grandes:
Para tal, ele realiza um join com k-1 anterior: 2-sequence 1 2 3 1 5 2 1 3 3 2 5 3 1 4 3 4 5 4 1 5 3 5 2 1 4 1 2 2 4 2 2 3 4 3 2 4 4 5 2 5 5 1 1-sequence Support 1 4 2 2 3 4 5 Anderson Santos e Rodrigo Wilkens
28
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
29
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 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) Anderson Santos e Rodrigo Wilkens
30
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
31
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. Anderson Santos e Rodrigo Wilkens
32
? AprioriAll 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3
2 4 3 4 3 5 4 5 ? Anderson Santos e Rodrigo Wilkens
33
AprioriAll 5 2 1 ? 1 2 5 ? 2-sequence Support 1 2 2 1 3 4
1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 1 2 5 ? Anderson Santos e Rodrigo Wilkens
34
AprioriAll 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5
2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 3-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 Anderson Santos e Rodrigo Wilkens
35
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
36
AprioriAll Poda as sequências que possuem sub-sequências que não estão em k-1-sequence: 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 3-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 Anderson Santos e Rodrigo Wilkens
37
AprioriAll Realizando a podagem 1 2 2 1 3 4 1 4 3 1 5 2 3
2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 3-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 Anderson Santos e Rodrigo Wilkens
38
AprioriAll 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-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 3-sequence 1 2 3 1 2 4 1 3 4 1 3 5 1 4 5 2 3 4 3 4 5 Anderson Santos e Rodrigo Wilkens
39
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
40
AprioriAll Agora sim! Vamos ao banco! 3-sequence Suporte 1 2 3 2
1 2 4 1 3 4 3 1 3 5 1 4 5 1 2 3 4 3 4 5 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) Anderson Santos e Rodrigo Wilkens
41
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
42
AprioriAll Continuando com o exemplo para gerar 4-sequências grandes:
3-sequence Suporte 1 2 3 2 1 2 4 1 3 4 3 1 3 5 2 3 4 4-sequence Anderson Santos e Rodrigo Wilkens
43
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
44
AprioriAll Podando: 3-sequence Suporte 1 2 3 2 1 2 4 1 3 4 3
1 3 5 2 3 4 4-sequence 4-sequence Anderson Santos e Rodrigo Wilkens
45
AprioriAll Verifica o suporte mínimo passando pelo banco
Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens
46
AprioriAll Contando com o banco: 4-sequence Suporte 1 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}) 4-sequence Suporte 2 Anderson Santos e Rodrigo Wilkens
47
AprioriAll L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência C3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Máximas L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens
48
AprioriAll L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Sub sequências Máximas L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens
49
AprioriAll L4 Passos forward 1 2 3 4
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 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Sub sequências Máximas 1 3 5 Anderson Santos e Rodrigo Wilkens
50
AprioriAll L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 4 5 Máximas 1 3 5 4 5 Anderson Santos e Rodrigo Wilkens
51
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; Anderson Santos e Rodrigo Wilkens
52
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. Anderson Santos e Rodrigo Wilkens
53
AprioriSome Heurística hitk =|Lk|/|Ck| hitk < 0,666 k+1
Anderson Santos e Rodrigo Wilkens
54
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; Anderson Santos e Rodrigo Wilkens
55
AprioriSome Passos 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 = Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 1-sequence Support 1 4 2 2 3 4 5 Anderson Santos e Rodrigo Wilkens
56
AprioriSome Passos 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 = 1-sequence Support 1 4 2 2 3 4 5 k = 1 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens
57
AprioriSome Passos 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 Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 f(k) = 2k k = 2 C3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 3 4 5 Anderson Santos e Rodrigo Wilkens
58
AprioriSome Passos 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 3 1 2 4 1 3 4 1 3 5 2 3 4 3 4 5 C4 Anderson Santos e Rodrigo Wilkens
59
AprioriSome Passos backward Conta C1 e cria L1 Conta C2 e cria L2 C4
Gera C3 Gera a C4 partir de C3 Realiza a poda em C4 e cria L4 Gera C5|C5 = C4 L4 Anderson Santos e Rodrigo Wilkens
60
AprioriSome Passos 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 C5 Anderson Santos e Rodrigo Wilkens
61
AprioriSome L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência C3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 3 4 5 Máximas L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens L1 ...
62
AprioriSome L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Máximas Remove 3 4 5 por não ter suporte L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 L1 ... Anderson Santos e Rodrigo Wilkens
63
AprioriSome L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Sub sequências Máximas L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 L1 ... Anderson Santos e Rodrigo Wilkens
64
AprioriSome L4 Passos forward 1 2 3 4
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 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Máximas 1 3 5 Anderson Santos e Rodrigo Wilkens
65
AprioriSome L4 Passos forward 1 2 3 4
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 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Sub sequências Máximas 1 3 5 L1 1 2 3 4 5 Anderson Santos e Rodrigo Wilkens
66
AprioriSome L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 4 5 L1 1 2 3 4 5 Máximas 1 3 5 4 5 Anderson Santos e Rodrigo Wilkens
67
AprioriSome L4 Passos forward 1 2 3 4
Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 4 5 L1 1 2 3 4 5 Máximas 1 3 5 4 5 Sub sequências Anderson Santos e Rodrigo Wilkens
68
DynamicSome Definições: Fases:
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 Anderson Santos e Rodrigo Wilkens
69
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. Anderson Santos e Rodrigo Wilkens
70
DynamicSome Exemplificado: O processo:
Utilizando o banco de exemplo anterior. Passo = 2. O processo: Inicializa como o aprioriall até L2 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens
71
DynamicSome Forward Pula para geração de C4.
É encontrado a partir dos dados (usando o otf-generate): Sequência Início Fim 1 2 1 2 1 3 3 1 4 4 2 3 2 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}) 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 4-sequence Suporte 1 Anderson Santos e Rodrigo Wilkens
72
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 2 3 1 4 4 1 5 3 4 3 5 4 5 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 4-sequence Suporte 1 Anderson Santos e Rodrigo Wilkens
73
DynamicSome Forward Pula para geração de C4.
É encontrado a partir dos dados (usando o otf-generate): Sequência Início Fim 1 2 1 2 1 3 3 1 4 4 2 3 2 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}) 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 4-sequence Suporte 2 Anderson Santos e Rodrigo Wilkens
74
DynamicSome Forward Pula para geração de C4.
É encontrado a partir dos dados (usando o otf-generate): Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 4-sequence Suporte 2 1 Anderson Santos e Rodrigo Wilkens
75
DynamicSome Backward 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. As 2-sequências não máximas são eliminadas como no AprioriAll e AprioriSome. Gerando o resultado: Máximas 1 3 5 4 5 Anderson Santos e Rodrigo Wilkens
76
Performance - Relativa
Gerou-se 4 BD com sequências de usuários. Anderson Santos e Rodrigo Wilkens
77
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 Anderson Santos e Rodrigo Wilkens
78
Performance - Escalabilidade
Anderson Santos e Rodrigo Wilkens
79
Performance - Escalabilidade
Anderson Santos e Rodrigo Wilkens
80
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 %) Anderson Santos e Rodrigo Wilkens
81
Performance - Escalabilidade
Anderson Santos e Rodrigo Wilkens
82
Mineração de Padrões Sequenciais
Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.