CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets PowerPoint PPT Presentation

presentation player overlay
1 / 49
About This Presentation
Transcript and Presenter's Notes

Title: CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets


1
CLOSET An Efficiet Algorithm for Mining Frequent
Closed Itemsets
  • Jian Pei, Jiawei Han, and Runying Mao

Augusto Klinger
2
Roteiro
  • Introdução
  • Definições
  • CLOSET
  • Exemplo
  • Otimizações
  • Algoritmo
  • Escalabilidade
  • Performance
  • Conclusão

3
Introdução
  • Geralmente, mineração por regras de associação
    resulta em muitos itemsets e regras.
  • Solução minerar somente itemsets fechados
    frequentes (Pasquier et al.)
  • Mesmo poder
  • Menos redundância
  • Mais eficiência

4
Introdução
  • CLOSET
  • Aplicação de um estrutura FP-tree para minerar
    itemsets fechados frequentes
  • Tecnica de compressão de caminho para identificar
    itemsets fechados frequentes rapidamente
  • Mecanismo de projeção baseado em partição para
    escalabilidade

5
Definições
  • Problema
  • Achar todos itemsets frequentes
  • Para cada itemset, gerar as regras de associação

6
Definições
  • Frequent Closed Itemset (FCI)
  • Um Itemset X é fechado se não existir um itemset
    X que
  • X é superconjunto próprio de X
  • Toda transação que contém X contém X
  • X gt X e sup(X) sup(X)
  • Itemset fechado é frequente se o suporte passa o
    suporte mínimo.

7
Definições
  • Regras de associação em FCI
  • X?Y
  • X e XUY são FCI
  • Não existir Z, tal que XltZlt(XUY)
  • Passar o nível de confiança
  • Processo de Mineração é similar
  • Minerar FCIs com min_sup
  • Gerar regras nos FCIs com min_conf

8
Definições
  • Exemplo
  • Min_sup 2
  • Min_conf 50

R FCI acdf Não FCI ac, f
9
CLOSET
  • Minera FCIs por um método de divisão e conquista
  • Explora o conceito de projeção de base de dados
  • Exemplo...

10
CLOSET
  • Encontrar os itens frequentes
  • F_list c4, e4, f4, a3, d2
  • Dividir o espaço de busca
  • Baseado na f_list, 5 espaços contendo
  • d
  • a e não d
  • f e não a nem d
  • e e não d nem a nem f
  • Somente c

11
CLOSET
12
CLOSET
  • Encontrar subconjuntos de FCIs
  • Construir e minerar conditional databases
    recursivamente
  • FCIs com d
  • c, f e a aparecem em todas transações
  • e é infrequente
  • cfad 2 é um FCI

13
CLOSET
14
CLOSET
  • FCIs com a e não d
  • Nenhum item em toda transação
  • a 3 é um FCI mas pode ter mais

15
CLOSET
16
CLOSET
  • para achar os outros
  • Local f_lista (c2, e2, f2)
  • Particionar o espaço de acordo com a f_lista
  • Contendo af mas não d
  • Contendo ae mas não d ou f
  • Contendo ac mas não d, e ou f
  • sup(af) sup(cfad) sup(ca)
  • Tabela do ae não tem item frequente, então
  • ea 2 é um FCI

17
CLOSET
18
CLOSET
  • FCIs com f e não a nem d
  • c aparece em todas transações
  • sup(cf) ! sup(cfad)
  • cf 4 é um FCI
  • cef não é subconjunto de ninguém
  • cef 3 é um FCI

19
CLOSET
20
CLOSET
  • FCIs com e e não d nem a nem f
  • sup(ce) sup(cef)
  • e 4 é um FCI
  • FCIs com somente c
  • Como não há FCI contendo c e não f, não há FCI
    somente com c.

21
CLOSET
22
CLOSET Otimização 1
  • FP-tree
  • Árvore de prefixos
  • Compreção
  • Transações com mesmo prefixo compartilham uma
    parte do caminho a partir da raíz
  • Conditional databases podem ser derivadas
    eficientemente
  • A projeção de um caminho é equivalente a
    multiplas transações

23
CLOSET Otimização 2
  • Extrair itens que aparecem em toda transação da
    conditional database
  • Se Y aparece em toda transação da X-conditional
    database, XUY é um FCI, caso não seja subconjunto
    próprio de outro FCI com mesmo suporte.
  • No exemplo, o itemset cfad
  • Excluir item extraído da local f_list e da
    conditional database

24
CLOSET Otimização 2
  • Reduz o tamanho da FP-tree
  • Pode reduzir o nível de recursão

25
CLOSET Otimização 3
  • Extrair FCIs diretamente da FP-tree
  • Se existir um caminho único, alguns FCIs podem
    ser extraídos diretamente da condicional database
  • Sendo i um item frequente numa X-cond
  • Só um nodo N contendo i
  • Antecessores de N tem só um filho
  • N tem 0 ou mais filhos
  • Então, a união de X, N e antecessores (menos a
    raíz) é um FCI (se obedecer as regras!)

26
CLOSET Otimização 3
  • Exemplo

c
e
  • FP-tree tem só um caminho (c4, e3)
  • Pode-se enumerar diretamente cf4 e cef 3

27
CLOSET Otimização 4
  • Podar galhos
  • Se X e Y são itensets frequentes
  • sup(X) sup(Y)
  • X lt Y
  • Y é FCI
  • Então, não há necessidade de procurar na X-cond!
  • Como no exemplo foi desconsiderada a C-cond por c
    ser subconjunto de fc

28
CLOSET Otimização 4
29
CLOSET Algoritmo
30
CLOSET Algoritmo
31
CLOSET Algoritmo
  1. Inserir YUX em FCI se Y aparece em todas as
    transações da DB(e respeita as regras) //
    Otimização 2
  2. Contruir FP-tree da DB sem os itens já extraídos
    // Otimização 1
  3. Extraír FCIs se possível // Otimização 3

32
CLOSET Algoritmo
  1. Montar conditional databases para ítens restantes
    da f_list e computar suas respectivas f_lists.
  2. Para cada ítem i restante na f_list, a partir do
    último, chamar CLOSET(iX, DBi, f_listi, FCI) SE
    iX não for subconjunto com mesmo suporte de algum
    FCI já encontrado! // Otimização 4

33
CLOSET Escalabilidade
  • Para grandes TDBs, FP-trees não cabem na memória
  • Solução
  • Contruir primeiro conditional databases sem
    FP-trees
  • Construir FP-trees baseadas em disco Mining
    frequent patterns without candidate generation

34
CLOSET Escalabilidade
  • Um método simples
  • Expandir todas conditional databases, uma por vez
  • Duplicaria TDB L/2 vezes
  • L é o numero médio de itens frequentes nas
    transações
  • Construção de muitas conditional databases pode
    ser uma operação custosa

35
CLOSET Escalabilidade
  • Método baseado em partição
  • Pode reduzir drasticamente o espaço
  • Consiste em copiar uma transação somente para a
    conditional database que contém o ultimo ítem da
    sua f_list.

36
CLOSET Escalabilidade
  • Exemplo
  • d é o ultimo ítem da f_list de cefad
  • Ao invés de copiar para d- a- f- e- cond
  • Só copia para a d-cond
  • Depois de processar a d-cond, a transação é
    copiada para a próxima conditional database, e
    assim por diante.

37
CLOSET Escalabilidade
38
CLOSET Escalabilidade
  • Uma vez terminada a partição, a tabela original
    pode ser descartada.
  • FP-trees são contruídas somente depois de algumas
    rodadas (quando as conditional databases couberem
    na memória)

39
Performance
  • CLOSET x CHARM x A-close
  • Pentium 233 MHz
  • 128 MB
  • Windows NT
  • Visual C
  • Testado em 3 conjuntos de dados

40
Performance
  • T25l20D100K (sintética)
  • 100.000 transações
  • Transações de tamanho 25
  • Itemsets frequentes de tamanho 20

41
Performance - T25l20D100K
42
Performance
  • Connect-4 (real)
  • 67.557 transações
  • 43 itens por transação

43
Performance - Connect-4
Numero de itemsets frequentes pode ser reduzido
em uma ordem de magnitude numa DB densa, se
representados por FCIs
44
Performance - Connect-4
45
Performance
  • Pumsb (real)
  • 49.046 transações
  • 74 itens por transação

46
Performance - Pumsb
47
Performance - Escalabilidade
48
Conclusão
  • Minerar FCIs é uma alternativa interessante
  • Menos itemsets
  • Menos regras, e mais interessantes
  • CLOSET é eficiente e escalável

49
FIMPerguntas?
Write a Comment
User Comments (0)
About PowerShow.com