Top Banner
CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti
26

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Jian Pei, Jiawei Han e Runying Mao

Apresentação preparada por Alexandre Lorenzatti

Page 2: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Closed itemsets

Frequent Closed itemsets

Artigo

Definição do problema

Extração dos FCIs

Especificação formal

Otimizações

Escalabilidade

PerformanceBancos utilizados e a comparação com CHARM e A-close

Conclusões

Page 3: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Closed itemsets

Um conjunto de itens X={x1, x2, x3, x4} será closed (fechado) se nenhum de seus super-conjuntos tiver o mesmo suporte, ou seja:

{a c d : 2}, não é um closed itemset, pois:

{a c d f : 2}, que é um super-conjunto, tem suporte iguale é mais interessante de ser analisado.

o porquê disso, gerando as regras associativasa -> {c d} com suporte = 2

a -> {c d f} com suporte = 2

mas, e se?

1 | a c d e f2 | a b e3 | c e f4 | a c d f5 | c e f

Page 4: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Closed itemsets

Um conjunto de itens X={x1, x2, x3, x4} será closed (fechado) se nenhum de seus super-conjuntos tiver o mesmo suporte, ou seja:

{a c d : 2}, não é um closed itemset, pois:

{a c d f : 2}, que é um super-conjunto, tem suporte iguale é mais interessante de ser analisado.

o porquê disso, gerando as regras associativasa -> {c d} com suporte = 2

a -> {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

1 | a c d e f2 | a b e3 | c e f4 | a c d f5 | c e f6 | a c d

Page 5: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Closed itemsets

Um conjunto de itens X={x1, 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.

{a c d : 2}, não é um closed itemset, pois:

{a c d f : 2}, que é um super-conjunto, tem suporte iguale é mais interessante de ser analisado.

o porquê disso, gerando as regras associativasa -> {c d} com suporte = 2

a -> {c d f} com suporte = 2

1 | a c d e f2 | a b e3 | c e f4 | a c d f5 | c e f

Page 6: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Frequent Closed itemsets (FCI)

Um conjunto de itens X={x1, x2, x3, x4} será considerado um frequent closed itemset se ele for fechado e se sup(X) >= min_sup.

1 | a c d e f2 | a b e3 | c e f4 | a c d f5 | 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

Page 7: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Frequent Closed itemsets (FCI)

Um conjunto de itens X={x1, x2, x3, x4} será considerado um frequent closed itemset se ele for fechado e se sup(X) >= 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 f2 | a b e3 | c e f4 | a c d f5 | 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

Page 8: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Artigo

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

Page 9: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Definiçã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

Page 10: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Definiçã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

Page 11: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Definiçã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 -> a d (2, 50%) a -> c d f (2, 67%)e -> a (2, 50%) a -> e (2, 67%)e -> c f (3, 75%) c f -> e (3, 75%)

1 | a c d e f2 | a b e3 | c e f4 | a c d f5 | c e f

Page 12: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Extração dos FCIs

Encontrar a lista de itens freqüentes f_list com min_sup=2:

c: 4, e: 4,f: 4,a: 3,d: 2

A base de transações ordenada pelo suporte e que atendem min_sup=2

1 | c e f a d2 | e a3 | c e f4 | c f a d5 | c e f

Dividir o espaço de busca criando os chamados BDs condicionais (TDB|x)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}

Page 13: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Extração dos FCIs (cont.)

Encontrar sub-conjuntos nos FCIsEncontrar FCIs que contenham {d} criando o TDB|d

{c e f a}, {c f a} -> 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 TDB|a

{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 TDB|a, que será:

f_list_a= c: 2, e: 2, f: 2

1 | c e f a d2 | e a3 | c e f4 | c f a d5 | c e f

Page 14: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Extração dos FCIs (cont.)

Encontrar sub-conjuntos nos FCIsDe 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 sup=2

TDB| f a = {a f} tem suporte igual a {a c d f} e é sub-conjunto deste, não é FCITDB| c a = {a c} tem suporte igual a {a c d f} e é sub-conjunto deste,

não é FCITDB| 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 TDB|f, TBD|e e TDB|c

Ao final, obteve-se os seguintes FCIs:

{acdf: 2}, {a: 3}, {ae: 2}, {cf: 4}, {cef: 3}, {e: 4}

Page 15: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Especificaçã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

Page 16: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Otimizaçõ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 TDB|x 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: root

C : 4

E : 3

F : 3

A : 1

D : 1

F : 1

A : 1

D : 1

E : 3

A : 1

1 | c e f a d2 | e a3 | c e f4 | c f a d5 | c e f

Page 17: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Otimizações (cont.)

Otimização 1 (cont.):

TDB|d : {cefa}, {cfa}

TDB|a: {cef}, {cf}, {e}

TDB|f: {ce},{c}

TDB|e: {c}

TDB|c: {c}

root

C : 4

E : 3

F : 3

A : 1

D : 1

F : 1

A : 1

D : 1

E : 3

A : 1

Page 18: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Otimizaçõ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

Page 19: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Otimizaçõ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}, TDB|f: {ce},{c}

root | c: 4 | e: 3

| f: 3

Assim encontramos os FCIs:

{c f : 4}

{c e f : 3}

Page 20: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Otimizaçõ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

TDB|c = {c}

Page 21: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Escalabilidade

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 TDB|x de um nó pai

Ao invés de copiar um transação para todos TDB|x ela é copiada apenas para o último item de f_list que a contém

Page 22: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Escalabilidade

Ex.:{d} é o último de f_list que contém a transação {c e f a d} então ela é

copiada para TDB|d. Depois de processado o TDB|d a transação é transferida para o próximo TDB|x, no caso, TDB|a

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

Page 23: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Performance

Os bancos de dados

T25|20D100K 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

Page 24: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Performance (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 sup=50% enquanto que o A-close nem encontrou resultados com sup=80%

Page 25: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Conclusõ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

Page 26: CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets Jian Pei, Jiawei Han e Runying Mao Apresentação preparada por Alexandre Lorenzatti.

CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets

Jian Pei, Jiawei Han e Runying Mao

Apresentação preparada por Alexandre Lorenzatti