A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han, and Runying Mao Augusto Klinger.

Apresentações semelhantes


Apresentação em tema: "CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han, and Runying Mao Augusto Klinger."— Transcrição da apresentação:

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

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

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

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

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

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

7 Definições Regras de associação em FCI Regras de associação em FCI XY XY X e X U Y são FCI X e X U Y são FCI Não existir Z, tal que X

8 Definições Exemplo Exemplo Min_sup = 2 Min_sup = 2 Min_conf = 50% 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 1. Encontrar os itens frequentes F_list = [c:4, e:4, f:4, a:3, d:2] F_list = [c:4, e:4, f:4, a:3, d:2] 2. Dividir o espaço de busca Baseado na f_list, 5 espaços contendo: Baseado na f_list, 5 espaços contendo: 1. d 2. a e não d 3. f e não a nem d 4. e e não d nem a nem f 5. Somente c

11 CLOSET

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

13 CLOSET

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

15 CLOSET

16 CLOSET para achar os outros: para achar os outros: Local f_list a = (c:2, e:2, f:2) Local f_list a = (c:2, e:2, f:2) Particionar o espaço de acordo com a f_list a Particionar o espaço de acordo com a f_list a 1) Contendo af mas não d 2) Contendo ae mas não d ou f 3) Contendo ac mas não d, e ou f sup(af) = sup(cfad) = sup(ca) sup(af) = sup(cfad) = sup(ca) Tabela do ae não tem item frequente, então: Tabela do ae não tem item frequente, então: ea: 2 é um FCI ea: 2 é um FCI

17 CLOSET

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

19 CLOSET

20 CLOSET d) FCIs com e e não d nem a nem f sup(ce) = sup(cef) sup(ce) = sup(cef) e: 4 é um FCI e: 4 é um FCI e) FCIs com somente c Como não há FCI contendo c e não f, não há FCI somente com 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 FP-tree Árvore de prefixos Árvore de prefixos Compreção Compreção Transações com mesmo prefixo compartilham uma parte do caminho a partir da raíz Transações com mesmo prefixo compartilham uma parte do caminho a partir da raíz Conditional databases podem ser derivadas eficientemente Conditional databases podem ser derivadas eficientemente A projeção de um caminho é equivalente a multiplas transações 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 Extrair itens que aparecem em toda transação da conditional database Se Y aparece em toda transação da X- conditional database, X U Y é um FCI, caso não seja subconjunto próprio de outro FCI com mesmo suporte. Se Y aparece em toda transação da X- conditional database, X U Y é um FCI, caso não seja subconjunto próprio de outro FCI com mesmo suporte. No exemplo, o itemset cfad No exemplo, o itemset cfad Excluir item extraído da local f_list e da conditional database Excluir item extraído da local f_list e da conditional database

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

25 CLOSET – Otimização 3 Extrair FCIs diretamente da FP-tree Extrair FCIs diretamente da FP-tree Se existir um caminho único, alguns FCIs podem ser extraídos diretamente da condicional database Se existir um caminho único, alguns FCIs podem ser extraídos diretamente da condicional database Sendo i um item frequente numa X-cond Sendo i um item frequente numa X-cond Só um nodo N contendo i Só um nodo N contendo i Antecessores de N tem só um filho Antecessores de N tem só um filho N tem 0 ou mais filhos 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!) 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: Exemplo: FP-tree tem só um caminho (c:4, e:3) Pode-se enumerar diretamente cf:4 e cef: 3 c e

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

28 CLOSET – Otimização 4

29 CLOSET – Algoritmo

30

31 1. Inserir Y U X 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 4. Montar conditional databases para ítens restantes da f_list e computar suas respectivas f_lists. 5. Para cada ítem i restante na f_list, a partir do último, chamar CLOSET(iX, DBi, f_list i, 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 Para grandes TDBs, FP-trees não cabem na memória Solução: Solução: Contruir primeiro conditional databases sem FP-trees Contruir primeiro conditional databases sem FP-trees Construir FP-trees baseadas em disco [Mining frequent patterns without candidate generation] Construir FP-trees baseadas em disco [Mining frequent patterns without candidate generation]

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

35 CLOSET – Escalabilidade Método baseado em partição Método baseado em partição Pode reduzir drasticamente o espaç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. 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: Exemplo: d é o ultimo ítem da f_list de cefad d é o ultimo ítem da f_list de cefad Ao invés de copiar para d- a- f- e- cond Ao invés de copiar para d- a- f- e- cond Só copia para a d-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. Depois de processar a d-cond, a transação é copiada para a próxima conditional database, e assim por diante.

37 CLOSET – Escalabilidade

38 Uma vez terminada a partição, a tabela original pode ser descartada. 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) 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 CLOSET x CHARM x A-close Pentium 233 MHz Pentium 233 MHz 128 MB 128 MB Windows NT Windows NT Visual C++ Visual C++ Testado em 3 conjuntos de dados Testado em 3 conjuntos de dados

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

41 Performance - T25l20D100K

42 Performance Connect-4 (real) Connect-4 (real) transações transações 43 itens por transação 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) Pumsb (real) transações transações 74 itens por transação 74 itens por transação

46 Performance - Pumsb

47 Performance - Escalabilidade

48 Conclusão Minerar FCIs é uma alternativa interessante Minerar FCIs é uma alternativa interessante Menos itemsets Menos itemsets Menos regras, e mais interessantes Menos regras, e mais interessantes CLOSET é eficiente e escalável CLOSET é eficiente e escalável

49 FIM Perguntas?


Carregar ppt "CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han, and Runying Mao Augusto Klinger."

Apresentações semelhantes


Anúncios Google