Minera - PowerPoint PPT Presentation

1 / 82
About This Presentation
Title:

Minera

Description:

Minera o de Padr es Sequenciais Agrawal, R.; Srikant, R., – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 83
Provided by: Rodrigo100
Category:

less

Transcript and Presenter's Notes

Title: Minera


1
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
2
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!

3
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

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?

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

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.

7
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

8
Fases
  • Sort
  • Litemset
  • Transformation
  • Sequence
  • Maximal

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

10
Sort
ID comprador Data Itens
1 25/03/93 30
1 30/03/93 90
2 10/06/93 10, 20
5 12/06/93 90
2 15/06/93 30
2 20/06/93 40, 60, 70
3 25/06/93 30, 50, 70
4 25/06/93 30
4 30/06/93 40, 70
4 25/07/93 90
ID comprador Data Itens
1 25/03/93 30
1 30/03/93 90
2 10/06/93 10, 20
2 15/06/93 30
2 20/06/93 40, 60, 70
3 25/06/93 30, 50, 70
4 25/06/93 30
4 30/06/93 40, 70
4 25/07/93 90
5 12/06/93 90
11
Fases
  • Sort
  • Litemset
  • Transformation
  • Sequence
  • Maximal

12
Litemset
  • Encontrar o conjunto de todos os litemsets.
  • Encontrando o conjunto de todas as grandes
    sequências (powerset das sequências).
  • Passos
  • Agrupar dados por ID
  • Geração das sub-transações

13
Litemset Agrupamento
ID comprador Data Itens
1 25/03/93 30
1 30/03/93 90
2 10/06/93 10, 20
2 15/06/93 30
2 20/06/93 40, 60, 70
3 25/06/93 30, 50, 70
4 25/06/93 30
4 30/06/93 40, 70
4 25/07/93 90
5 12/06/93 90
ID comprador Itens
1 (30) (90)
2 (10, 20) (30) (40, 60, 70)
3 (30, 50, 70)
4 (30) (40, 70) (90)
5 (90)
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)
15
Fases
  • Sort
  • Litemset
  • Transformation
  • Sequence
  • Maximal

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

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
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 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?
19
Fases
  • Sort
  • Litemset
  • Transformation
  • Sequence
  • Maximal

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

21
Fases
  • Sort
  • Litemset
  • Transformation
  • Sequence
  • Maximal

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

23
Maximal
l-sequências
?1 5?
?1 2, 3?
?1?
Mapa Mapa
Item Símbolo
(30) 1
(40) 2
(70) 3
(40 70) 4
(90) 5
L-sequências
?(30) (90)?
?(30) (40 70)?
24
Fases
  • Sort
  • Litemset
  • Transformation
  • Sequence
  • Maximal

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
?4? 4
?5? 4
26
AprioriAll
27
AprioriAll
  • Continuando com o exemplo para gerar 2-sequências
    grandes
  • Para tal, ele realiza um join com k-1 anterior

2-sequence 2-sequence 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
?4? 4
?5? 4
28
AprioriAll
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? 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)?
30
AprioriAll
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.

32
AprioriAll
2-sequence Support
?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
?
33
AprioriAll
?5 2 1? ?
2-sequence Support
?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? ?
34
AprioriAll
2-sequence Support
?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
3-sequence 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?
35
AprioriAll
36
AprioriAll
  • Poda as sequências que possuem sub-sequências que
    não estão em k-1-sequence

3-sequence 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?
2-sequence Support
?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
37
AprioriAll
  • Realizando a podagem

2-sequence Support
?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
3-sequence 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?
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 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?
39
AprioriAll
40
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)?
41
AprioriAll
42
AprioriAll
  • Continuando com o exemplo para gerar 4-sequências
    grandes

3-sequence Suporte
?1 2 3? 2
?1 2 4? 2
?1 3 4? 3
?1 3 5? 2
?2 3 4? 2
4-sequence
?1 2 3 4?
?1 2 4 3?
?1 3 4 5?
?1 3 5 4?
43
AprioriAll
44
AprioriAll
  • Podando

3-sequence Suporte
?1 2 3? 2
?1 2 4? 2
?1 3 4? 3
?1 3 5? 2
?2 3 4? 2
4-sequence
?1 2 3 4?
?1 2 4 3?
?1 3 4 5?
?1 3 5 4?
4-sequence
?1 2 3 4?
45
AprioriAll
46
AprioriAll
  • Contando com o banco

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 2 3 4? 2
47
AprioriAll
L4
?1 2 3 4?
Passos forward
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
?1 2 3 4?
L2
?1 2?
?1 3?
?1 4?
?1 5?
?2 3?
?2 4?
?3 4?
?3 5?
?4 5?
48
AprioriAll
L4
?1 2 3 4?
Passos forward
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
?1 2 3 4?
L2
?1 2?
?1 3?
?1 4?
?1 5?
?2 3?
?2 4?
?3 4?
?3 5?
?4 5?
49
AprioriAll
L4
?1 2 3 4?
Passos 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 2?
?1 3?
?1 4?
?1 5?
?2 3?
?2 4?
?3 4?
?3 5?
?4 5?
Sub sequências
Máximas
?1 2 3 4?
?1 3 5?
50
AprioriAll
L4
?1 2 3 4?
Passos 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
?4 5?
Máximas
?1 2 3 4?
?1 3 5? ?4 5?
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

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.

53
AprioriSome
  • Heurística hitk Lk/Ck
  • hitk lt 0,666 ? k1
  • hitk lt 0,75 ? k2
  • hitk lt 0,80 ? k3
  • hitk lt 0,85 ? k4
  • hitk ? 0,85 ? k5

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

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 C5C5 ?
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
?4? 4
?5? 4
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 C5C5 ?
1-sequence Support
?1? 4
?2? 2
?3? 4
?4? 4
?5? 4
k 1
2-sequence Support
?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
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 C5C5 ?
2-sequence Support
?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
f(k) 2k k 2
C3
?1 2 3?
?1 2 4?
?1 3 4?
?1 3 5?
?2 3 4?
?3 4 5?
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 C5C5 ?
C3
?1 2 3?
?1 2 4?
?1 3 4?
?1 3 5?
?2 3 4?
?3 4 5?
C4
?1 2 3 4?
?1 3 4 5?
59
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 C5C5 ?
C4
?1 2 3 4?
?1 3 4 5?
L4
?1 2 3 4?
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 C5C5 ?
L4
?1 2 3 4?
C5
?
61
AprioriSome
L4
?1 2 3 4?
Passos forward
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
?1 2 3 4?
L2
?1 2?
?1 3?
?1 4?
?1 5?
?2 3?
?2 4?
?3 4?
?3 5?
?4 5?
L1
...
62
AprioriSome
L4
?1 2 3 4?
Passos forward
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
?1 2 3 4?
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
...
63
AprioriSome
L4
?1 2 3 4?
Passos forward
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
?1 2 3 4?
L2
?1 2?
?1 3?
?1 4?
?1 5?
?2 3?
?2 4?
?3 4?
?3 5?
?4 5?
L1
...
64
AprioriSome
L4
?1 2 3 4?
Passos 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 2?
?1 3?
?1 4?
?1 5?
?2 3?
?2 4?
?3 4?
?3 5?
?4 5?
Máximas
?1 2 3 4?
?1 3 5?
65
AprioriSome
L4
?1 2 3 4?
Passos 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 2?
?1 3?
?1 4?
?1 5?
?2 3?
?2 4?
?3 4?
?3 5?
?4 5?
Sub sequências
Máximas
?1 2 3 4?
?1 3 5?
L1
?1?
?2?
?3?
?4?
?5?
66
AprioriSome
L4
?1 2 3 4?
Passos 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
?4 5?
L1
?1?
?2?
?3?
?4?
?5?
Máximas
?1 2 3 4?
?1 3 5? ?4 5?
67
AprioriSome
L4
?1 2 3 4?
Passos 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
?4 5?
L1
?1?
?2?
?3?
?4?
?5?
Máximas
?1 2 3 4?
?1 3 5? ?4 5?
Sub sequências
68
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

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.

70
DynamicSome
  • Exemplificado
  • 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? 3
?2 3? 2
?2 4? 2
?3 4? 3
?3 5? 2
?4 5? 2
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? 1 3
?1 4? 1 4
?2 3? 2 3
?2 4? 2 4
?3 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? 3
?2 3? 2
?2 4? 2
?3 4? 3
?3 5? 2
?4 5? 2
4-sequence Suporte
?1 2 3 4? 1
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
?1 3? 1 3
?1 4? 1 4
?1 5? 1 4
?3 4? 2 3
?3 5? 2 4
?4 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)?
2-sequence Support
?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
4-sequence Suporte
?1 3 4 5? 1
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? 1 3
?1 4? 1 4
?2 3? 2 3
?2 4? 2 4
?3 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? 3
?2 3? 2
?2 4? 2
?3 4? 3
?3 5? 2
?4 5? 2
4-sequence Suporte
?1 2 3 4? 2
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
?1 2 3 4? 2
?1 3 4 5? 1
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 2 3 4?
?1 3 5? ?4 5?
76
Performance - Relativa
  • Gerou-se 4 BD com sequências de usuários.

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

78
Performance - Escalabilidade
79
Performance - Escalabilidade
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 )

81
Performance - Escalabilidade
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
Write a Comment
User Comments (0)
About PowerShow.com