1 / 69

Associação: algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

Associação: algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC. CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets. Utiliza uma representação comprimida do banco de dados usando uma FP-tree

nardo
Télécharger la présentation

Associação: algoritmos (parte 2) prof. Luis Otavio Alvares INE/UFSC

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. Associação: algoritmos (parte 2)prof. Luis Otavio AlvaresINE/UFSC

  2. CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets • Utiliza uma representação comprimida do banco de dados usando uma FP-tree • Depois da construção da FP-tree utiliza a abordagem de dividir para conquistar para encontrar os conjuntos de itens fechados frequentes

  3. FP-Tree • FP-Tree é uma estrutura de dados compacta para a mineração eficiente de padrões freqüentes. • Considere o seguinte banco de dados transacional (duas primeiras colunas) e suporte = 3:

  4. FP-Tree - Observações • 1. Como somente os itens freqüentes serão importantes na mineração de padrões freqüentes, é necessário realizar uma varredura no banco de dados para identificar o conjunto de itens freqüentes. • 2. O armazenamento do conjunto de itens freqüentes em uma estrutura compacta pode evitar varreduras repetidas do banco de dados.

  5. FP-Tree - Observações • 3. Se múltiplas transações compartilham um conjunto de itens freqüentes idêntico, eles podem ser agrupados em um único conjunto com o número de ocorrências registrado em uma variável count. • É fácil verificar se dois conjuntos são idênticos se os itens freqüentes de todas as transações estão ordenados conforme uma ordem fixada.

  6. FP-Tree - Observações • 4. Se duas transações compartilham um prefixo comum, conforme uma ordenação dos itens freqüentes, as partes compartilhadas podem ser agrupadas utilizando uma única estrutura de prefixo, desde que a variável count seja computada corretamente. • Se os itens freqüentes estão ordenados de forma decrescente de valores de freqüência, existem melhores chances de que mais prefixos possam ser compartilhados.

  7. FP-Tree - Execução • 1. Primeira varredura no banco de dados para obter a lista ordenada L dos itens freqüentes: • L = <(f:4), (c:4), (a:3), (b:3), (m:3), (p:3)>

  8. FP-Tree - Execução • 2. Criação da raiz, nomeada com null. root

  9. FP-Tree - Execução • 3. Nova varredura do BD, transação por transação: root f:1 c:1 a:1 m:1 p:1

  10. FP-Tree - Execução • 3. Nova varredura do BD, transação por transação: root f:2 c:2 a:2 b:1 m:1 m:1 p:1

  11. FP-Tree - Execução • 3. Nova varredura do BD, transação por transação: root f:3 b:1 c:2 a:2 b:1 m:1 m:1 p:1

  12. FP-Tree - Execução • 3. Nova varredura do BD, transação por transação: root c:1 f:3 b:1 b:1 c:2 a:2 p:1 b:1 m:1 m:1 p:1

  13. FP-Tree - Execução • 3. Nova varredura do BD, transação por transação: root c:1 f:4 b:1 b:1 c:3 a:3 p:1 b:1 m:2 m:1 p:2

  14. FP-Tree - Análise • 2 varreduras do banco de dados: • Contar itens frequentes • Gerar a FP-tree • O custo para inserir uma transação Trans na FP-Tree é O(|Trans|), onde |Trans| é o número de itens freqüentes em Trans.

  15. FP-Tree - Análise • Dado um banco de dados transacional DB e um suporte mínimo minSup, sua FP-Tree correspondente contém toda a informação necessária para a mineração de padrões freqüentes no DB (completeness). • Sem considerar a raiz, o tamanho de uma FP-Tree é limitado ao total de ocorrências dos itens freqüentes no DB e a altura é limitada pelo maior número de itens freqüentes em uma transação (compactness). • Diferentemente do método Apriori-like que pode gerar um número exponencial de candidatos no pior caso, sob nenhuma circunstância uma FP-Tree com um número exponencial de nodos será gerada.

  16. CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets. Jian Pei, Jiawei Han e Runying Mao

  17. Seja o seguinte arquivo de dados e a respectiva FP-tree (minsup=2) null c:4 e:1 a:1 e:3 f:1 a:1 f:3 d:1 a:1 d:1

  18. Lista de itens frequentes (minsup=2) f_list = <c:4, e:4, f:4, a:3, d:2> • Os frequent closed itemsets podem ser divididos em 5 subconjuntos não sobrepostos: • Os subconjuntos que contém d • Os subconjuntos que contém a mas não d • Os subconjuntos que contém fmas não anem d • Os subconjuntos que contém emas não f, anem d • Os subconjuntos que contém somente c

  19. Os subconjuntos que contém d d-conditional FP-tree original null sup(d) = 2 TDB|d = <cefa, cfa> null c:4 e:1 sup(cefad) = 1 sup(cfad) = 2 c:2 a:1 e:3 f:1 a:1 e:1 f:1 f:3 a:1 d:1 f:1 a:1 a:1 d:1 cfad é um frequent closed itemset

  20. Os subconjuntos que contém a mas não d a-conditional FP-tree original null null c:4 e:1 c:2 e:1 a:1 e:3 f:1 e:1 f:1 a:1 sup(a) = 3 TDB|a = <cef, cf, e> Nenhum tem suporte igualao de a: sup(cefa) = 1 sup(ea) = 2 sup(cfa) = 1 , então a é um frequent closed itemset f:3 f:1 d:1 a:1 d:1

  21. a-Conditional • Os frequent closed itemsetspodem ser divididosem 3 subconjuntosnãosobrepostos: • Os subconjuntosquecontémafmasnãod • Os subconjuntosquecontémaemasnãodnemf • Os subconjuntosquecontémac masnãod, eouf f_list_a = <c : 2, e : 2, f : 2> null c:2 af:2 e:1 ac:2 ae:2 minsup=2 null null null TDB|ea = <c> c:2 e:1 f:1 c:2 c:1 e:1 f:1 ae é um frequent closed itemset. af:2 e ac:2 não são porque tem o mesmo suporte que cfad:2, que é um CFI

  22. Os subconjuntos que contém f mas não a nem d f-conditional FP-tree original null null sup(f) = 4 TDB|f = <ce, c> c:4 c:4 e:1 a:1 e:3 f:1 e:3 sup(cef) = 3 sup(cf) = 4 cf é frequent closed itemset, pois sup(f) = sup(cf) cef é frequent closed itemset, pois não é subconjunto de qqueritemset encontrado com suporteidêntico. a:1 f:3 d:1 a:1 d:1

  23. Os subconjuntos que contém e mas não f, a nem d null FP-tree original e-conditional null c:3 sup(e) = 4 TDB|e = <c> c:4 e:1 a:1 e:3 f:1 sup(ce) = 3 cenão é frequent closed itemset, pois sup(ce) = sup(cef) que é FCI eé frequent closed itemset, pois o seu suporte é 4 e não 3 a:1 f:3 d:1 a:1 d:1

  24. Os subconjuntos que contém somente c Não é necessáriopesquisar no c-Conditional Database poisc é um Subconjunto de cf,que é um frequent closed itemset com o mesmosuporte de c.

  25. Resumo

  26. Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns". Proceedings of the Eleventh International Conference onData Engineering, pp.3-14, 1995

  27. MP-Sequenciais • Mineração de Padrões • Quais itens são comprados juntos em uma transação? • Mineração de Padrões Sequenciais • Quais itens são comprados em sequência, mas em ocasiões diferentes?

  28. MP-Sequenciais • Suporte mínimo: • Relativo a quantidade de clientes em relação ao número total de clientes • 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 total de clientes

  29. MP-Sequenciais • Problema: • Dado uma base de dados D com transações, quais as associações das transações dos clientes com o passar do tempo?

  30. MP-Sequenciais • Definições: • Conjunto de Itens: itens comprados ao mesmo tempo (na mesma transação) • 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)> Notação: O que está entre parênteses representa uma transação e os números representam os itens comprados. A ordem das transações é da esquerda para a direita

  31. MP-Sequenciais • Problema: • Dada uma base de dados D com transações, quais as associações das transações dos clientes com o passar do tempo? • Dado D, mineração de padrão sequencial é encontrar as sequências máximas entre todas as sequências que tem certo suporte mínimo. • Ex:

  32. MP-Sequenciais • Relembrando o 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

  33. Fases • Sort • Litemset • Transformação • Sequencia • Maximal

  34. Sort • Ordenar a base de dados por ID do comprador e por data da transação; • Realizado de forma simples por um comando SQL;

  35. Sort Arquivo original Após o sort

  36. Fases • Sort • Litemset • Transformação • Sequencia • Maximal

  37. Litemset • Encontrar o conjunto de todos os l-itemsets (itemsets frequentes). • Passos: • Agrupar dados por ID; • Gerar itemsets frequentes;

  38. Litemset – Agrupamento

  39. Litemset – encontrar os conjuntos frequentes Considerando minsup = 2, os conjuntos frequentes são: (30), (40), (70), (90) e (40,70)

  40. Fases • Sort • Litemset • Transformação • Sequencia • Maximal

  41. Transformação • 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 (considera minSup) • Mapeamento;

  42. Transformação – suporte mínimo

  43. Transformação – Mapeamento

  44. Fases • Sort • Litemset • Transformação • Sequencia • Maximal

  45. Sequencia • Usa o conjunto de l-itemsets para encontrar as sequências máximas desejadas. • Conta todas as l-sequencias, incluindo as não máximas; • Ex.: AprioriAll

  46. Fases • Sort • Litemset • Transformação • Sequencia • Maximal

  47. Maximal • Encontrar as sequências máximas entre as sequências frequentes.

  48. Maximal

  49. Exemplo de algoritmo: AprioriAll • A cada fase gera as k-sequências frequentes • Recebe os dados da fase de transformação para inicializar o 1-sequência • Base de exemplo (diferente da anterior): • Suporte mínimo: 2

  50. AprioriAll

More Related