Birch: An efficient data clustering method for very large databases Sumário Motivação CF – Cluster Feature Algoritmo Considerações Finais Jonathan de Andrade Silva 1 2 Motivação CF – Cluster Features Tradicionais algoritmos assumem que o conjunto de dados preenche a memória Algoritmos de agrupamento realizam vários acessos ao conjunto de dados Representação compacta dos dados pertencentes ao grupo Mantém estatísticas suficientes para as operações no algoritmo Permite realizar operações de junção de grupos 3 4 CF – Cluster Features CF – Cluster Features Exemplo: CF1 CF2 ID a1 a2 ID a1 a2 x1 2 13 x3 7 16 x2 1 16 x4 4 18 34 580 3 29 11 5 425 65 CF2 CF1 CF1=(2,[3 29],[5 425]) ; CF2=(2,[11 34],[65 580]) CF = CF1+CF2=(4,[14 63],[70 1005]) 5 6 CF – Cluster Features Algoritmo Utiliza uma estrutura em árvore para manter os vetores CF na memória Similar a estrutura em árvore B+ Possui 3 parâmetros : ◦ N. de filhos do nó não-folha (B) ◦ N. de elementos do nó folha (L) ◦ Limiar (T) 7 8 Algoritmo Algoritmo Cada nó não-folha tem B entradas CF Cada nó folha tem L entradas CF que satisfazem o limiar T Construção da árvore de CF com apenas uma leitura dos dados Aplicar um algoritmo de agrupamento nos nós folhas da árvore construída. Obtido do original de Hung Lai 9 Algoritmo 10 Algoritmo Inserção na CF-Tree: ◦ Identificação do nó folha apropriado ◦ Atualização do nó folha ◦ Atualização dos nós não-folha do caminho Exemplo de Inserção Split (B=3 e L=3): CF CF4 CF3 CF5 CF7 CF6 CF1 PCF2 CF2 PCF3 R PCF1 1 2 11 1 2 3 4 5 3 6 7 12 Algoritmo Algoritmo Exemplo de Inserção Split (B=3 e L=3): Exemplo de Inserção Split (B=3 e L=3): CF CF5 CF4 CF1 CF7 CF6 CF CF4 CF3 PCF1 PCF4 CF2 PCF3 PCF2 2 4 PCF4 R 4 5 Algoritmo 2 1 1 6 7 4 1 2 13 2 3 3 4 5 6 7 14 Algoritmo Exemplo de Inserção Merge (B=3 e L=3): CF3 ACF2 3 ACF1 1 2 3 PCF3 PCF2 PCF1 R 1 CF CF7 CF6 CF3 CF2 CF5 CF1 CF2 CF5 Exemplo de Inserção Merge (B=3 e L=3): CF CF2 CF5 CF3 CF4 CF1 CF4 PCF1 PCF2 R PCF2 1 1 2 CF1 PCF1 PCF3 R 2 3 4 5 1 15 1 2 3 5 4 2 3 16 Algoritmo Considerações Finais Exemplo de Inserção Merge (B=3 e L=3): CF2 CF5 CF6 ◦ Estimação do limiar T e redução da árvore ◦ Agrupamento refinado, porém necessita acessar os dados novamente. CF3 CF4 PCF2 CF1 PCF3 1 2 PCF1 R 3 2 1 5 4 3 Zhang, T.; R., R.; Livny, M. , BIRCH: An efficient data clustering method for very large databases, SIGMOD '96, ACM Press. Zhang, Tian , Data clustering for very large datasets plus applications, University of Wisconsin at Madison, 1997,PhD. Thesis. ◦ Supondo d(3,2) < T, d(2,1) < T e d(3,1) > T. ◦ Inserindo os objetos na árvore na seguinte ordem: 1-> 2 -> 3 2 18 Referências Dependência a ordem dos dados: 3 Sensível à ordem dos dados. Encontra grupos globulares Apenas para atributos numéricos 17 Considerações Finais Complexidade linear O(n) para acesso aos dados Complexidade O(n*N*B*logBM/P) para inserção na árvore Possui 2 fases opcionais: 1 19 20