Mining frequent patterns without candidate generation using FP-tree
1. Mining Frequent Patterns without
Candidate Generation
Alberto Bisognin
Jiawei Han, Jian Pei, and Yiwen Yin
School of Computing Science
Simon Fraser University
2. Introduç ão
– Algoritmo Apriori bastante usado
– Boa performance com conjuntos
reduzidos de candidatos
– Custoso com grande número de
candidatos
3. Principais problemas Apriori
– Geraç ão de grande conjunto de
candidatos
– Várias verificaç ões do banco de dados
– Checagem de grande conjunto de
candidatos
4. Algoritmo proposto
– Composto de 3 aspectos:
– Estrutura de dados mais compacta
denominada FP-tree
– Desenvolvida árvore baseada nos
fragmentos dos padrões
– Geraç ão ascendente de itens frequentes
5. Frequent Pattern Tree – FP-tree
– Armazena informaç ões cruciais
– Dados são compactados numa estrutura
de dados bem menor
– Reduz o espaç o de busca
– Somente itens frequentes de comprimento
1 tem nodo na árvore
– Disposiç ão dos nó s permite que nó s mais
frequentes sejam melhor compartilhados
– Cada nodo contem 3 campos: nome do
item, contador e nodo link
6. Projeto e Construç ão da FP-tree
Dado um banco de dados e considerando um suporte mínimo
– Varrer o banco de dados para encontrar o conjunto de itens
frequentes que superam o suporte
– Armazenar o conjunto de itens frequentes em uma estrutura
compacta (evitar verificaç ão do banco de dados)
– Ordenar os itens frequentes em ordem decrescente
– Criar a raiz da árvore, denominada null
– Examinar a primeira transaç ão para construir o primeiro ramo da
árvore, seguindo sempre a ordem decrescente dos itens
frequentes
– Na pró xima transaç ão, se esta tiver itens semelhantes já
apresentados na árvore, o contador do mesmo item deve ser
incrementado e se apresentar nodos diferentes, estes devem ser
incluídos no ramo da árvore
– Se pró xima transaç ão tiver itens diferentes da anterior, novo
ramo serácriado
8. Alguns detalhes
– Cada transiç ão do banco de dados é mapeada
para um caminho na árvore
– Frequencia dos itens são armazenados na árvore
– O tamanho é limitado pela ocorrência dos itens
frequentes no banco de dados
– A altura de uma árvore é limitada ao número
máximo de itens de uma transaç ão do banco de
dados
– Um caminho pode representar itens frequentes
em múltiplas transaç ões
9. Comparativo com FP-tree
Teste com base de dados Connect-4 usado em MaxMiner
Contém 67557 transaç ões com 43 itens
Suporte de 50%
Número total de ocorrência de itens frequentes:2219609
Número total de nodos numa árvore FP-tree:13449
Relaç ão de reduç ão de 165,04 vezes
10. Gerando padrões frequentes através da FP-tree
– Para qualquer item freqüente ai, todos os possíveis padrões
que contem ai podem ser obtidos seguindo os nó -links de
ai, a partir de ai na estrutura da FP-tree.
– Procura de padrões frequentes associados a um item
– Padrões de caminhos simples são gerados pela
combinaç ão dos itens deste ramo
– Caminhos compostos é gerada uma árvore de padrão base
para cada item
14. Avaliaç ão experimental do algoritmo
Comparaç ão entre os métodos FP-growth, Apriori
e TreeProjection
Computador Pentium 450MHz 128Mbytes Ram
Windows NT
Programas escritos em Microsoft Visual C++6.0
Banco de dados:
D1-T25.I10.D10K 1000 itens 10000 transaç ões
D2-T25.I20.D100K 10000 itens
20. Conclusão
– Gera uma árvore bastante compacta
– Reduz a geraç ão de candidatos
– Reduç ão do tamanho das bases subsequentes de padrões
condicionais e das árvores condicionais
– Muito eficiente para banco de dados com grande número
de transaç ões e suportes baixos