1 / 21

LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura. Apresentação: Luiz Henrique Longhi Rossi. Definições. E é o universo de todos os itens; X é um subconjunto de E. R é o conjunto de transações sobre E

akeem-hicks
Download Presentation

LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

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. LCM: na efficient algorithm for enumerating frequent closed item setsT. Uno, T. Asai, H. Arimura Apresentação: Luiz Henrique Longhi Rossi

  2. Definiçõ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; • α é uma constante, α > 0; • Um conjunto X é chamado de freqüente se |R(X)| > α;

  3. Definições • Se um conjunto freqüente está contido em outro, este é dito maximal • Se um conjunto de transações S Í R, tomamos I(S) = ∩TÎ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

  4. Caracterí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;

  5. Enumerando Conjuntos Fechados Freqüentes • É construída uma arvore TRIE • É feita uma busca em profundidade, enumera-se assim todos os conjuntos fechados freqüentes

  6. Algoritmo 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 > i(X) • If X[i] is frequent and X[i] = I(T(X[i]) then • Call LCM (X[i]) • End for

  7. Algorítmo LCM • X[i] são todos os conjuntos que contém X e contém i, logo X não necessariamente é um prefixo de X[i].

  8. 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 Exemplo, sup = 3

  9. 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 Exemplo, sup = 3

  10. Exemplo • 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?

  11. Vantagens • 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.

  12. Vantagens • Além do algoritmo base, apresenta algumas otimizações • Ocurrence Deliver: • Reduz o tempo para construir T(X[i]) • 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 J[i] = T(X[i]) • Além disso não precisam ser feitas chamadas recursivas se J[i] for vazio

  13. Vantagens • Ocurrence Deliver • Otimiza em casos que T(X[i]) é 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.

  14. Vantagens • Diffsets • No caso do |T(X[i])| 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

  15. Vantagens • Computação hibrida • Usar Ocurrence Deliver em casos em que |T(X[i])| é bem menor que |T(X)|; • Usar Diffsets em casos em que |T(X[i])| é bem próximo a |T(X)| • Como decidir? • Estatística

  16. Vantagens • A(X) = Σi |T (X ∪ {i})| • Tamanho total dos filhos de X • B(X) = Σi:X∪{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) < c.B(X) • A decisão é feita apenas para os filhos imediatos da raiz desde que não tome muito tempo

  17. Vantagens • 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

  18. Resultados • Bases de dados

  19. Resultados • LCMfreq, LCM, LCMmax, FPgrowth, eclat, apriori, mafia-mfi • Em todas as 9 base de dados diferentes

More Related