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

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

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Apresentações semelhantes


Apresentação em tema: "CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets"— Transcrição da apresentação:

1 CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets
Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

2 Introdução Itemset Suporte (support count - σ) Regras Associação
Conjunto de 1 ou mais itens Suporte (support count - σ) Número de transações que contém determinado item Regras Associação Support : s (X  Y) = σ ( X U Y ) total transações Confidence: c (X  Y) = σ (X U Y) σ (X)

3 Introdução Dado um conjunto de transações, encontrar as regras com
support > minsup confidence >= minconf Problema é dividido em Geração de Frequent Itemset Geração de Regras

4 Introdução Alternativa Proposta:
A algoritmo Apriori tem como objetivo reduzir o número de itemsets candidatos Ainda assim, o número de frequent itemsets gerados pode ser muito grande, principalmente quando o minsup é baixo. O número de regras de associação também pode ser muito grande. Isto reduz a eficiência e eficácia da mineração Alternativa Proposta: Algoritmo CLOSET: Ao invés de minerar o conjunto completo de frequent itemsets e suas associações, minerar somente os frequent closed itemsets e suas regras.

5 Frequent Closed Itemset
Um itemset X é closed se nenhum dos seus super conjuntos imediatos tem exatamente o mesmo suporte de X. Um itemset X é frequent closed se ele é fechado e o seu suporte é superior ou igual ao minsup. Frequent Closed Itemset

6 Exemplo Considere um banco de dados com 2 transações: minsup=1
minconf=50% Método Tradicional: 2n – 1 = 2100 – 1 itemsets 3n – 2n regras Método de Frequent Closed Itemsets: 2 Closed Itemsets {(a1,a2,a3,…,a50) , (a1,a2,a3,…,a100)} 1 Regra (a1,a2,a3,…,a50)  (a51,a52,a53,…,a100) TID Itens 66 a1, a2, a3,…… a100 67 a1, a2, a3,…… a50

7 Transações Segundo Apriori tem-se: 1-itemsets: a, c, d, e, f,
TID Itens na transação 100 a, c, d, e, f 200 a, b, e 300 c, e, f 400 a, c, d, f 500 minsup = 2 e minconf=50% Segundo Apriori tem-se: 1-itemsets: a, c, d, e, f, 2-itemsets: ac, ad, ae, af, cd, ce, cf, df, ef, 3-itemsets: acd, acf, adf, cef, cdf, 4-itemsets: acdf 20 frequent itemsets dos quais somente 6 são fechados.

8 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df
TID Itens 100 a, c, d, e, f 200 a, b, e 300 c, e, f 400 a, c, d, f 500 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df ef 3 2 2 2 2 acd ace acf ade adf aef cde cdf cef def 2 acde acdf acef adef cdef acdef

9 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df
TID Itens 100 a, c, d, e, f 200 a, b, e 300 c, e, f 400 a, c, d, f 500 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df ef 3 2 2 2 2 acd ace acf ade adf aef cde cdf cef def 2 acde acdf acef adef cdef acdef

10 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df
TID Itens 100 a, c, d, e, f 200 a, b, e 300 c, e, f 400 a, c, d, f 500 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df ef 3 2 2 2 2 acd ace acf ade adf aef cde cdf cef def 2 acde acdf acef adef cdef acdef

11 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df
TID Itens 100 a, c, d, e, f 200 a, b, e 300 c, e, f 400 a, c, d, f 500 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df ef 3 2 2 2 2 acd ace acf ade adf aef cde cdf cef def 2 acde acdf acef adef cdef acdef

12 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df
TID Itens 100 a, c, d, e, f 200 a, b, e 300 c, e, f 400 a, c, d, f 500 / 3 4 2 4 4 a c d e f 3 4 2 2 2 2 2 1 2 2 ac ad ae af cd ce cf de df ef 3 2 2 2 2 acd ace acf ade adf aef cde cdf cef def 2 acde acdf acef adef cdef acdef

13 FP-Tree CLOSET utiliza uma frequent pattern tree (FP-tree) que é um representação compacta de todas as transações do banco de dados e usa uma recursão dividir para conquistar para a minerar os frequent closed itemsets.

14 FP-Tree TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f
null TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500 c:1 e:1 f:1 a:1 d:1

15 FP-Tree TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f
null TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500 c:1 e:1 a:1 e:1 f:1 a:1 d:1

16 FP-Tree TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f
null TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500 c:2 e:1 a:1 e:2 f:2 a:1 d:1

17 FP-Tree TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f
null TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500 c:3 e:1 a:1 e:2 f:1 a:1 f:2 d:1 a:1 d:1

18 FP-Tree TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f
null TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500 c:4 e:1 a:1 e:3 f:1 a:1 f:3 d:1 a:1 d:1

19 Conditional Database Dado um conjunto de transações TDB. Seja k um frequent itemset em TDB. O k-conditional database, denotado por TDB|k, é o subconjunto de transações em TDB que contém k, e todas as ocorrências de itens não frequentes, o item k e itens seguindo k em f_list são omitidos. f_list é uma lista com os itens e seus respectivos suportes em ordem decrescente do suporte.

20 Algoritmo CLOSET Representa as transações e os conditional databases através de uma FP-tree Extrair os itens que aparecem em cada transação do conditional database a partir de uma FP-tree é eficiente

21 Algoritmo CLOSET Determinar a frequent item list (f_list)
f_list = <c : 4, e : 4, f : 4, a : 3, d : 2> Itens são armazenados em ordem decrescente de suporte Itens com suporte abaixo do minsup são omitidos

22 Algoritmo CLOSET Dado um conjunto de transações de BD, TDB, um limiar de suporte min_sup, e f_list=(i1,i2,…,in) o problema da mineração do conjunto completo de frequent closed itemsets pode ser dividido em n sub problemas. O jth problema (1 <= j <=n) é encontrar o conjunto completo de frequent closed itemsets que contém in+1-j mas não ik (para n+1-j < k <= n)

23 Algoritmo CLOSET j = 1  i5+1-1  i5  d
j = 2  i5+1-2  i4  a and not (4 < k <= 5) j = 3  i5+1-3  i3  f and not (3 < k <= 5) j = 4  i5+1-4  i2  e and not (2 < k <= 5) j = 5  i5+1-5  i1  c and not (1 < k <= 5) f_list = <c : 4, e : 4, f : 4, a : 3, d : 2> TID Itens 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500

24 Algoritmo CLOSET 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 f mas não a nem d Os subconjuntos que contém e mas não f, a nem d Os subconjuntos que contém somente c

25 Algoritmo CLOSET 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 f mas não a nem d Os subconjuntos que contém e mas não f, a nem d Os subconjuntos que contém somente c

26 d-Conditional TID Itens na transação 100 c, e, f, a, d 200 e, a 300
null TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500 c:4 e:1 a:1 e:3 f:1 a:1 f:3 d:1 a:1 d:1

27 d-Conditional c:2 sup(d) = 2 TDB|d = {cefa, cfa} e:1 f:1 a:1 f:1
null c:2 sup(d) = 2 TDB|d = {cefa, cfa} e:1 f:1 a:1 f:1 sup(cefad) = 1 sup(cfad) = 2 a:1 cfad é um frequent closed itemset

28 Algoritmo CLOSET 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 f mas não a nem d Os subconjuntos que contém e mas não f, a nem d Os subconjuntos que contém somente c

29 a-Conditional f:1 a:1 d:1 c:4 f:3 e:3 e:1 TID Itens na transação 100
null e:1 TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500

30 a-Conditional c:2 e:1 sup(a) = 3 TDB|a = {cef, e, cf}
null c:2 e:1 sup(a) = 3 TDB|a = {cef, e, cf} Nenhum tem suporte Igual ao de a, então sup(cefa) = 1 sup(ea) = 2 sup(cfa) = 1 a é um frequent closed itemset e:1 f:1 f:1

31 a-Conditional f_list_a = <c : 2, e : 2, f : 2> null Os frequent closed itemsets podem ser divididos em 3 subconjuntos não sobrepostos: Os subconjuntos que contém af mas não d Os subconjuntos que contém ae mas não d nem f Os subconjuntos que contém ac mas não d, e ou f c:2 e:1 e:1 f:1 af:2 ac:2 ae: minsup=2 null null null f:1 TDB|ea = {c} c:2 ae é um frequent closed itemset c:2 c:1 e:1

32 Algoritmo CLOSET 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 f mas não a nem d Os subconjuntos que contém e mas não f, a nem d Os subconjuntos que contém somente c

33 f-Conditional f:1 a:1 d:1 c:4 f:3 e:3 e:1 TID Itens na transação 100
null e:1 TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500

34 f-Conditional TID Itens na transação 100 c, e, f, a, d 200 e, a 300
null TID Itens na transação 100 c, e, f, a, d 200 e, a 300 c, e, f 400 c, f, a, d 500 sup(f) = 4 TDB|f = {ce, c} c:4 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 qquer itemset encontrado com suporte idêntico.

35 Algoritmo CLOSET 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 f mas não a nem d Os subconjuntos que contém e mas não f, a nem d Os subconjuntos que contém somente c

36 e-Conditional c:3 sup(e) = 4 TDB|e = {c} sup(ce) = 3
null c:3 sup(e) = 4 TDB|e = {c} sup(ce) = 3 e é frequent closed itemset ce não é frequent closed itemset, pois sup(e) <> sup(ce) e ce é subconjunto de cef (pertencente a f-conditional database)

37 c-Conditional Não é necessário pesquisar em c-Conditional Database pois c é um Subconjunto de cf, que é um frequent closed itemset com o mesmo suporte de c.

38

39 Algoritmo CLOSET Inicialização: FCI  zero
Encontre frequent items: Varrer as transação do banco de dados TDB e computar a frequent item list – f_list Minerar frequent closed itemsets recursivamente CLOSET( 0 , TDB, f_list, FCI)

40 Estudo do Artigo Comparação com outros algoritmos Datasets utilizados
A-close CHARM Datasets utilizados T25I20D100K Connect-4 Pumsb

41 Estudo do Artigo Suporte Número de Frequent Closed Itemset
Número de Frequent Itemset Frequent Itemset Frequent Closed Itemset 95% 812 2.205 2.72 90% 3.486 27.127 7.78 80% 15.107 35.35 70% 35.875 115.12 Connect-4. Database com transações com 43 itens.

42 Estudo do Artigo T25I20D100K

43 Estudo do Artigo pumsb

44 Estudo do Artigo Connect-4

45 Considerações Finais O algoritmo CLOSET serve para extrair os itemsets frequentes fechados a partir de um conjunto de dados, recorrendo à estrutura FP-tree. O algoritmo começa por criar uma lista de itens frequentes (f_list) organizada por ordem crescente de suporte, utilizando depois uma estratégia de divisão que permite gerar subconjuntos de itens que não são comuns entre si. Desta forma, obtêm-se todos os conjuntos de itemsets frequentes fechados, que são depois trabalhados recursivamente por forma a se obterem todos os resultados possíveis. Os resultados obtidos mostram que o algoritmo é eficiente e escalável, podendo ser aplicado a conjuntos de dados de grandes dimensões, mas o seu desempenho decresce quando aplicado a dados esparsos.


Carregar ppt "CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets"

Apresentações semelhantes


Anúncios Google