1 / 49

CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets

CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets. Jian Pei , Jiawei Han , and Runying Mao. Augusto Klinger. Roteiro . Introdução Definições CLOSET Exemplo Otimizações Algoritmo Escalabilidade Performance Conclusão. Introdução.

arva
Download Presentation

CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CLOSET: An Efficiet Algorithm for Mining Frequent Closed Itemsets JianPei, JiaweiHan, andRunying 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 > 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 X<Z<(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 = [c:4, e:4, f:4, a:3, d:2] • Dividir o espaço de busca • Baseado na f_list, 5 espaços contendo: • d • ae 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 ae 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 = (c:2, e:2, f:2) • 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 (c:4, e:3) • Pode-se enumerar diretamente cf:4 e cef: 3

  27. CLOSET – Otimização 4 • Podar galhos • Se X e Y são itensetsfrequentes • sup(X) = sup(Y) • X < 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 defc

  28. CLOSET – Otimização 4

  29. CLOSET – Algoritmo

  30. CLOSET – Algoritmo

  31. CLOSET – Algoritmo • Inserir YUX em FCI se Y aparece em todas as transações da DB(e respeita as regras) // Otimização 2 • ContruirFP-tree da DB sem os itens já extraídos // Otimização 1 • ExtraírFCIs se possível // Otimização 3

  32. CLOSET – Algoritmo • Montar conditional databases para ítens restantes da f_list e computar suas respectivas f_lists. • Para cada ítemi 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 [Miningfrequentpatternswithout 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 • Itemsetsfrequentes 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?

More Related