Title: Slide sem t
1CLOSET An Efficient Algorithm for Mining
Frequent Closed Itemsets Jian Pei, Jiawei Han e
Runying Mao
Apresentação preparada por Alexandre Lorenzatti
2Closed itemsets Frequent Closed
itemsets Artigo Definição do
problema Extração dos FCIs Especificação
formal Otimizações Escalabilidade Performa
nce Bancos utilizados e a comparação com CHARM
e A-close Conclusões
3Closed itemsets Um conjunto de itens Xx1, x2,
x3, x4 será closed (fechado) se nenhum de seus
super-conjuntos tiver o mesmo suporte, ou seja
1 a c d e f 2 a b e 3 c e f 4 a c d f 5
c e f
a c d 2, não é um closed itemset, pois a c
d f 2, que é um super-conjunto, tem suporte
igual e é mais interessante de ser analisado. o
porquê disso, gerando as regras associativas a
-gt c d com suporte 2 a -gt c d f com
suporte 2 mas, e se?
4Closed itemsets Um conjunto de itens Xx1, x2,
x3, x4 será closed (fechado) se nenhum de seus
super-conjuntos tiver o mesmo suporte, ou seja
1 a c d e f 2 a b e 3 c e f 4 a c d f 5
c e f 6 a c d
a c d 2, não é um closed itemset, pois a c
d f 2, que é um super-conjunto, tem suporte
igual e é mais interessante de ser analisado. o
porquê disso, gerando as regras associativas a
-gt c d com suporte 2 a -gt c d f com
suporte 2 mas, e se? agora a c d 3,
será um closed itemset a c d f 2, será outro
closed itemset
5Closed itemsets Um conjunto de itens Xx1, x2,
x3, x4 será closed (fechado) se nenhum de seus
super-conjuntos tiver o mesmo suporte, ou
seja princípio todos os
sub-conjuntos de um conjunto freqüente são
freqüentes. todos os super-conjuntos de um
conjunto infreqüente, são infreqüentes.
1 a c d e f 2 a b e 3 c e f 4 a c d f 5
c e f
a c d 2, não é um closed itemset, pois a c
d f 2, que é um super-conjunto, tem suporte
igual e é mais interessante de ser analisado. o
porquê disso, gerando as regras associativas a
-gt c d com suporte 2 a -gt c d f com
suporte 2
6Frequent Closed itemsets (FCI)? Um conjunto de
itens Xx1, x2, x3, x4 será considerado um
frequent closed itemset se ele for fechado e se
sup(X) gt min_sup.
1 a c d e f 2 a b e 3 c e f 4 a c d f 5
c e f
min_sup 3 a c d 3, será um frequent closed
itemset a c d f 2, NÃO será um frequent
closed itemset caso min_sup 2, ambos seriam FCI
7Frequent Closed itemsets (FCI)? Um conjunto de
itens Xx1, x2, x3, x4 será considerado um
frequent closed itemset se ele for fechado e se
sup(X) gt min_sup. A importância de
se encontrar FCIs é a grande redução do número
de regras redundantes geradas.
1 a c d e f 2 a b e 3 c e f 4 a c d f 5
c e f
min_sup 3 a c d 3, será um frequent closed
itemset a c d f 2, NÃO será um frequent
closed itemset caso min_sup 2, ambos seriam FCI
8Artigo FCIs, mesmo poder de mineração que os
FI. A proposta extensão do
FP-growth redução do espaço de busca com a
utilização dos FCIs mecanismo de projeção
para a mineração de grandes BDs
9Definição do problema Mineração de regras de
associação dividida em duas etapas Encontrar
os Frequent Itemsets Para cada FI gerar as as
regras de associação
10Definição do problema Mineração de regras de
associação dividida em duas etapas Encontrar
os Frequent Itemsets Para cada FI gerar as as
regras de associação PROBLEMÁTICA geração de
muitas regras, em muitos casos,
redundantes
11Definição do problema Mineração de regras de
associação dividida em duas etapas Encontrar
os Frequent Itemsets Para cada FI gerar as as
regras de associação PROBLEMÁTICA geração de
muitas regras, em muitos casos,
redundantes Mineração de regras de
associação utilizando apenas os FCIs (2 etapas
também) 20 FIs porém, somente 6 são
FCI a c d f, c e f, a e, c f, a,
e Gerar regras de associação utilizando
apenas FCIs c f -gt a d (2, 50) a -gt
c d f (2, 67)? e -gt a (2, 50) a -gt e
(2, 67)? e -gt c f (3, 75) c f -gt
e (3, 75)?
1 a c d e f 2 a b e 3 c e f 4 a c d f 5
c e f
12Extração dos FCIs Encontrar a lista de itens
freqüentes f_list com min_sup2 c 4, e 4,f
4,a 3,d 2 A base de transações ordenada pelo
suporte e que atendem min_sup2 1 c e f a
d 2 e a 3 c e f 4 c f a d 5 c
e f Dividir o espaço de busca criando os
chamados BDs condicionais (TDBx) todos os FCIs
são divididos em 5 sub-conjuntos de acordo com
f_list e de acordo com as regras sub-conj.
que contém d sub-conj. que contém a mas
não d sub-conj. que contém f mas não a e
d sub-conj. que contém e mas não f, a
nem d sub-conj. que contém apenas c
13Extração dos FCIs (cont.)? Encontrar
sub-conjuntos nos FCIs Encontrar FCIs que
contenham d criando o TDBd c e f a, c f
a -gt FCI c f a 2, pois sup(d)
2 assim c f a sempre apareceu junto com
d, então c f a d 2 é um
FCI Encontrar FCIs que contenham a mas que
não contenham d, criando o TDBa c e
f, e , c f mas como sup(a) 3 somente a
é um FCI assim entra-se recursivamente para
encontrar o restante de FCIs contendo a
mas não d monta-se uma sub-lista de itens
freqüentes do TDBa, que será f_list_a c
2, e 2, f 2
1 c e f a d 2 e a 3 c e f 4 c f a d 5 c
e f
14Extração dos FCIs (cont.)? Encontrar
sub-conjuntos nos FCIs De acordo com f_list_a
criam-se 3 sub-conjuntos que contenham a
mas não d a f, a e, a c todos com
sup2 TDB f a a f tem suporte igual a a
c d f e é sub-conjunto deste, não é
FCI TDB c a a c tem suporte igual a a c d
f e é sub-conjunto deste, não é FCI TDB e
a c que não atende o suporte, então e a 2
é um FCI Voltando da recursão e continuando
os passos em f_list Continua-se fazendo para o
TDBf, TBDe e TDBc Ao final, obteve-se os
seguintes FCIs acdf 2, a 3, ae 2,
cf 4, cef 3, e 4
15Especificação formal Especificação formal
mostrando que o processo de mineração dos FCIs é
completo e correto Otimizações Otimização
1 FP-trees Otimização 2 Remover os itens
que aparecem em todas transações dos BDs
condicionais Otimização 3 extrair FCIs
diretamente da FP-tree Otimização 4 poda na
busca de FCIs
16Otimizações (cont.)? Otimização 1 Comprimir as
informações do banco transacional e dos
bancos condicionais em FP-trees Transações
semelhantes terão um caminho semelhante na
FP-tree Os TDBx podem ser derivados a partir
de uma FP-tree já que múltiplas transações
podem dividir um mesmo caminho da
árvore FP-tree criada a partir do banco
1 c e f a d 2 e a 3 c e f 4 c f a d 5 c
e f
17Otimizações (cont.)? Otimização 1
(cont.) TDBd cefa, cfa TDBa
cef, cf, e TDBf ce,c TDBe
c TDBc c
18Otimizações (cont.)? Otimização 2 Remover os
itens que aparecem em todas transações dos
BDs condicionais Ex BD condicional de
d c e f a c f a c f a são
comuns, assim c f a d é um FCI se não for sub-
conjunto de um FCI com suporte igual
19Otimizações (cont.)? Otimização 3 extrair FCIs
diretamente da FP-tree criada a partir de um BD
condicional e que possua apenas um
ramo Ex. FP-tree gerada a partir do BD
condicional de f, TDBf ce,c root
c 4
e 3 f
3 Assim encontramos os FCIs c f
4 c e f 3
20Otimizações (cont.)? Otimização 4 poda na
busca de FCIs Dois conj. freqüentes X e Y. Se
Y contiver os elementos de X e Y for um FCI
não é necessário procurar FCIs no BD condicional
de X Ex. BD condicional de c, pois c é
um sub-conjunto de f c o qual já é um
FCI TDBc c
21Escalabilidade Quando um banco de dados é
grande fica inviável manter um FP-tree em
memória Solução simples, porém bastante
custosa, é expandir todos TDBx de um nó
pai Ao invés de copiar um transação para todos
TDBx ela é copiada apenas para o último item
de f_list que a contém
22Escalabilidade Ex. d é o último de f_list
que contém a transação c e f a d então ela é
copiada para TDBd. Depois de processado o
TDBd a transação é transferida para o próximo
TDBx, no caso, TDBa Com essa
abordagem o CLOSET consegue trabalhar sem a
construção de uma FP-tree nas primeiras
iterações, assim, as FP-trees são construídas
quando os BDs condicionais cabem em memória
23Performance Os bancos de dados T2520D100K
10K itens dados esparsos, maioria dos dos FI são
FCI Connect-4 67557 transações cada uma com
43 itens, longos FIs pumsb 49046 transações
cada uma com 74 itens Redução do número de
FIs para FCIs no Connect-4
24Performance (cont.)? Comparação A-close é
baseado no Apriori mas, com algumas
melhorias CHARM explora o formato de dados
verticais, buscando FCIs através de
intersecções entre os dados das
transações Experimentos feitos em um
Pentium 233MHz, 128MB RAM, Windows NT,
Visual C 6.0 CLOSET se mostrou melhor
principalmente em bancos densos como o
Connect-4 CLOSET usou 1690 seg. para
encontrar 130101 FCI com sup50 enquanto
que o A-close nem encontrou resultados com
sup80
25Conclusões CLOSET se mostrou eficiente e
escalável na busca por FCIs em grandes BDs
Minerar uma grande quantidade de transações
gerando os conjuntos freqüentes é bastante
custoso e criam-se muitas regras
associativas Minerar FCIs tem o mesmo poder
de minerar todos os conjuntos freqüentes mas,
gerando uma quantidade bem menor de regras
associativas
26CLOSET An Efficient Algorithm for Mining
Frequent Closed Itemsets Jian Pei, Jiawei Han e
Runying Mao
Apresentação preparada por Alexandre Lorenzatti