Title: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura
1LCM na efficient algorithm for enumerating
frequent closed item setsT. Uno, T. Asai, H.
Arimura
- Apresentação Luiz Henrique Longhi Rossi
2Apresentação
- Serão apresentados três algorítmos
- LCM-freq
- Todos conjuntos frequentes
- LCM
- Conjuntos fechados frequentes
- LCMmax
- Conjuntos frequentes máximos
3Definições
- E é o universo de todos os itens
- X é um subconjunto de E.
- R é o conjunto de transações sobre E
- R(X) t Î R X Í t será o conjunto de
transações incluindo X - a é uma constante, a gt 0
- Um conjunto X é chamado de freqüente se R(X) gt
a
4Definições
- Se um conjunto freqüente está contido em outro,
este é dito maximal - Se um conjunto de transações S Í R, tomamos I(S)
nTÎS T. - Se X satisfaz I(R(X)) X, então é um conjunto
fechado. - F será o conjunto de todos conjuntos freqüentes
- C será o conjunto de todos conjuntos freqüentes
fechados
5Característica
- Algoritmo híbrido
- Em um momento das iterações opta, baseado em
estimativas, por um ou por outra técnica para
utilizar algoritmos para dados esparsos ou densos
6Enumerando Conjuntos Fechados Freqüentes
- É construída uma arvore TRIE
- É feita uma busca em profundidade, enumera-se
assim todos os conjuntos fechados freqüentes
7Algoritmo LCM
- Para todos conjuntos maiores que o conjunto i
(anterior) - Se o conjunto for freqüente E igual a intersecção
de todas as transações envolvendo ele se chama
recursivamente o LCM - For each i gt i(X)
- If Xi is frequent and Xi I(T(Xi) then
- Call LCM (Xi)
- End for
8Algorítmo LCM
- Xi são todos os conjuntos que contém X e contém
i, logo X não necessariamente é um prefixo de
Xi.
9Exemplo, sup 3
- A 1,2,3,8,5
- B 1,2,4,5
- C 1,2,3,8,9
- D 1,2,3,8,10
- E 1,2,4,9
- F 1,2,5,8
- 1
- 1,2 é freqüente?
- Sim
- T(1,2) A, B, C, D, E, F
- I(T(1,2)) 1,2
- É igual?
- Sim, então chama recursivamente
10Exemplo, sup 3
- A 1,2,3,8,5
- B 1,2,4,5
- C 1,2,3,8,9
- D 1,2,3,8,10
- E 1,2,4,9
- F 1,2,5,8
- 1,2
- 1,2,3 é frequente?
- Sim
- T(1,2,3) A, C, D
- I(T(1,2,3) 1,2,3,8
- É igual?
- Não, então não chama recursivamente
11Exemplo
- Então como que ele identificará que o conjunto
1,2,3,8 será fechado freqüente? - Por causa do iterador! A verificação é feita como
se os dados estivessem em uma trie, logo, ele vai
varrer aumentando o índice i, que compreende
todos os subconjuntos (percorre em profundidade) - Percorre toda a árvore em tempo linear
- Para realizar a operação I(X) não teria que
percorrer as transações envolvendo X?
12Vantagens
- Outros algoritmos ao gerarem a árvore adicionam
todos os conjuntos freqüentes, adicionando assim,
muitos que serão podados, como o LCM só
adiciona conjuntos fechados na árvore, poupa
processamento - Afirma também que cada iteração tem menos
processamento.
13Vantagens
- Além do algoritmo base, apresenta algumas
otimizações - Ocurrence Deliver
- Reduz o tempo para construir T(Xi)
- Normalmente é obtido a partir de T(X) percorrendo
todas transações que não envolvem i - Ao invés disso, em quanto se obtém T(X)
simultaneamente é feita a lista Ji T(Xi) - Além disso não precisam ser feitas chamadas
recursivas se Ji for vazio
14Vantagens
- Ocurrence Deliver
- Otimiza em casos que T(Xi) é bem menor que
T(X) - Pode levar até 1/10 do tempo em alguns casos.
- Right-First Sweep
- Como cada chamada recursiva vai ter um tamanho
menor ou igual que a chamada anterior pode-se
alocar a memória no tamanho total de J de uma vez
só como variável global.
15Vantagens
- Diffsets
- No caso do T(Xi) ser parecido com T(X) é
usada essa técnica - Está definida em uma artigo completo nas
referências - Diz-se que reduz em até 1/100 em algumas base de
dados
16Vantagens
- Computação hibrida
- Usar Ocurrence Deliver em casos em que T(Xi)
é bem menor que T(X) - Usar Diffsets em casos em que T(Xi) é bem
próximo a T(X) - Como decidir?
- Estatística
17Vantagens
- A(X) Si T (X ? i)
- Tamanho total dos filhos de X
- B(X) SiX?i? F (T (X) - T (X ? i))
- Tamanho de X menos o tamanho dos filhos
- Para uma constante c usa-se o Ocurrence deliver
se A(X) lt c.B(X) - A decisão é feita apenas para os filhos imediatos
da raiz desde que não tome muito tempo
18Vantagens
- A computação hibrida, reduz o tempo em até 1/3
- Verificação de fechabilidade (no ocurrence
deliver) - Por definição um conjunto candidato não vai ser
fechado sse existir um valor que ocorre em todas
transações que outro valor - Então, é testado durante o algoritmo se a existe
um j que pertence a todas as transações - Não é feito no diffset porque o conjunto seria
muito grande
19Resultados
Dataset items Trans Minsup ()
BMS-Web-View1 BMS-Web-View2 BMS-POS T10I4D100K T40I10D100K pumsb pumsb star mushroom connect chess 497 3,340 1,657 1,000 1,000 7,117 7,117 120 130 76 59,602 77,512 517,255 100,000 100,000 49,046 49,046 8,124 67,577 3196 0.10.01 0.10.01 0.10.01 0.150.025 20.5 9560 5010 200.1 9540 9030
20Resultados
- LCMfreq, LCM, LCMmax, FPgrowth, eclat, apriori,
mafia-mfi - Em todas as 9 base de dados diferentes
21(No Transcript)
22(No Transcript)