UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Mineração de Dados Em Múltiplas Tabelas: O Algoritmo GFP-Growth Luciene Cristina Pizzi São Carlos – SP 2006 Ficha catalográfica elaborada pelo DePT da Biblioteca Comunitária da UFSCar Pizzi, Luciene Cristina. P695mm Mineração multi-relacional: o algoritmo GFP-growth / Luciene Cristina Pizzi. -- São Carlos : UFSCar, 2006. 107 p. Dissertação (Mestrado) -- Universidade Federal de São Carlos, 2006. 1. Tipos específicos de banco de dados. 2. Mineração multi-relacional. 3. Data mining (Mineração de dados). I. Título. CDD: 005.75 (20a) Universidade Federal de São Carlos Centro de Ciências Exatas e de Tecnologia Programa de Pós-Graduação em Ciência da Computação "Mineração Multi-Relacional: O algoritmo GFP-Growth" LUCIENE CRISTINA PIZZI Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Federal de São Carlos, como parte dos requisitos para a obtenção do título de Mestre em Ciência da Computação. Membros da Banca: ~ J;1j< Profa. Dra. Marina Teresa Pires Vieira (Orientadora PPG-CC/UFSCar) - .~ :Y!°f.Dr. João Eduardo Ferreira (IME/USP) São Carlos Maio/2006 ii Para meus pais, que apesar das dificuldades, sempre fizeram de tudo para que eu pudesse me dedicar aos estudos. iii Agradecimentos A Deus, aquele que sempre me indica os caminhos e orienta minhas escolhas; À minha família, por acreditar em mim e apoiar meu trabalho; À minha orientadora Marina, pela orientação, compreensão e prontidão em me ajudar; Ao Thiago, pelo carinho, paciência e apoio nos momentos difíceis; Às minhas amigas que conviveram comigo nesses dois anos de mestrado: Patrícia, Danielle, Aline, Thaíze e Glauce, pela paciência, compreensão e apoio; Aos amigos do PPG-CC, por proporcionarem momentos alegres sempre que precisamos; À Marcela, pela ajuda dispensada em meu trabalho; A CAPES pelo apoio financeiro; E a todos que, de alguma forma, contribuíram para essa minha vitória, Muito obrigada! iv Abstract Data mining is the phase of the knowledge discovery in database process where an algorithm is applied to the available data, in order to prove a hypothesis or discover a still unknown pattern. The traditional data mining techniques can deal only with single tables; however it is interesting to look for patterns involving several related tables, aiming to analyze the existing relation between the entities present in one table and the data of the same entities present in another table. Depending on the relationship existing between these tables, applying a traditional algorithm to the joint table is not sufficient, as the joint table may contain duplicated attribute values which interfere in the analysis process of the generated rules. In order to solve this problem, this project adopts an approach which consists on looking for association rules mining the joint table. The adopted process considers the groups of tuples, where each group is formed by tuples of the same entity. Following this approach the GFP-Growth algorithm was developed, which is presented in this monograph along with its results and comparisons with other multi-relational algorithms. v Resumo A mineração de dados é a etapa do processo de descoberta de conhecimento na qual um algoritmo é aplicado sobre os dados disponíveis, com o intuito de provar uma hipótese ou descobrir algum padrão até então desconhecido. As técnicas tradicionais de mineração de dados tratam uma única tabela, no entanto é interessante buscar padrões que envolvam múltiplas tabelas relacionadas, com o intuito de analisar a relação existente entre os dados de uma entidade presentes em uma tabela e os dados dessa mesma entidade presentes em uma outra tabela. Dependendo do tipo de relacionamento existente entre essas tabelas, não basta realizar a junção das mesmas para aplicar um algoritmo tradicional de mineração de dados na tabela resultante, pois essa tabela pode conter duplicação de valores de atributos que interferem no processo de análise das regras geradas. Para resolver esse problema, este trabalho adota uma abordagem que consiste na busca por regras de associação, realizando a mineração na tabela resultante da junção. O processo adotado considera agrupamentos de tuplas, sendo que cada agrupamento é formado pelas tuplas de uma mesma entidade. Seguindo essa abordagem foi desenvolvido o algoritmo GFP-Growth, o qual é apresentado nesta monografia juntamente com seus resultados e comparações com outros algoritmos multi-relacionais. vi SUMÁRIO 1. Introdução........................................................................................................1 1.1. Motivação.....................................................................................................................1 1.2. Objetivos.......................................................................................................................1 1.3. Organização da Dissertação........................................................................................2 2. Algoritmos para Mineração de Regras de Associação................................3 2.1. Considerações Iniciais.................................................................................................3 2.2. Mineração de Dados....................................................................................................3 2.2.1. Diferentes Abordagens Envolvendo Regras de Associação – Breve Histórico....4 2.2.2. Tarefa de Associação............................................................................................4 2.3. Algoritmos para Mineração de Regras de Associação.............................................6 2.3.1. Algoritmo Apriori.................................................................................................6 2.3.2. Algoritmo FP-Growth.........................................................................................10 2.4. Considerações Finais.................................................................................................15 3. Mineração Multi-Relacional ........................................................................16 3.1. Considerações Iniciais...............................................................................................16 3.2. Definição de Mineração Multi-Relacional...............................................................16 3.3. Motivação para Realização da Mineração Multi-Relacional.................................18 3.4. Estratégias para Realizar Mineração Multi-Relacional.........................................20 3.4.1. Descoberta de Regras de Associação em DW’s usando SQL.............................21 3.4.2. Descoberta de Regras de Associação em DW’s de Forma Distribuída..............23 3.4.3. Contagem de Itemsets Freqüentes em DW’s......................................................26 3.4.4. Algoritmo Connection.........................................................................................28 3.4.5. Algoritmo MRFP Growth...................................................................................33 3.4.6. Algoritmo Apriori Group....................................................................................38 3.5. Considerações Finais.................................................................................................41 4. O Algoritmo GFP-Growth para Mineração Multi-Relacional de Regras de Associação.....................................................................................................44 4.1. Considerações Iniciais...............................................................................................44 4.2. Motivação e Histórico do Projeto.............................................................................44 4.3. Definição do problema...............................................................................................45 4.4. Estratégia Proposta....................................................................................................46 4.4.1. Definições...........................................................................................................48 4.5. Algoritmo GFP-Growth............................................................................................54 4.5.1. A GFP-Tree Gerada pelo GFP-Growth..............................................................57 4.6. Resultados Experimentais.........................................................................................59 4.6.1. Comparações com Outros Algoritmos................................................................61 4.6.2. Análise do Peso...................................................................................................67 4.7. Considerações Finais.................................................................................................69 5. Conclusões......................................................................................................70 5.1. Considerações Iniciais...............................................................................................70 5.2. Contribuições.............................................................................................................70 vii 5.3. Trabalhos Futuros.....................................................................................................70 5.3.1. Melhorar o desempenho......................................................................................70 5.3.2. Desenvolver uma Ferramenta para Mineração de Dados....................................71 5.3.3. Estender a Análise...............................................................................................71 5.3.4. Propor Novas Medidas de Interesse....................................................................72 5.3.5. Realizar Baterias de Testes.................................................................................72 5.3.6. Propor uma Nova Estratégia de Mineração........................................................72 6. Referências Bibliográficas............................................................................74 7. Apêndice A - Mineração de Dados ..............................................................79 7.1. Considerações Iniciais...............................................................................................79 7.2. Definição e caracterização.........................................................................................79 7.3. Processo de descoberta de conhecimento.................................................................79 7.4. Data Warehouse.........................................................................................................81 7.4.1. Modelagem Multidimensional............................................................................82 7.5. Tarefas de Mineração................................................................................................84 7.5.1. Tarefa de Associação..........................................................................................85 7.5.2. Tarefa de Classificação.......................................................................................85 7.5.3. Tarefa de Agrupamento.......................................................................................87 7.5.4. Padrões Seqüenciais............................................................................................88 7.6. Considerações Finais.................................................................................................89 8. Apêndice B - Exemplo de Execução do Algoritmo GFP-Growth.............90 8.1. Considerações Iniciais...............................................................................................90 8.2. Apresentação do Algoritmo GFP-Growth...............................................................90 8.3. Exemplo Considerado................................................................................................91 8.4. Preparação dos Dados...............................................................................................92 8.5. Execução do Algoritmo.............................................................................................93 8.5.1. Método countItemOccurrences...........................................................................93 8.5.2. Método constructGFP-Tree................................................................................93 8.5.3. Método gfp_Growth............................................................................................94 8.5.4. Submétodo buildConditionalGFP-Tree..............................................................95 8.6. Método generateRules.............................................................................................105 viii LISTA DE FIGURAS Figura 2.1 Algoritmo Apriori (AGRAWAL; SRIKANT, 1994)...............................................7 Figura 2.2 Conjuntos de 1-itemsets...........................................................................................9 Figura 2.3 Conjuntos de 2-itemsets...........................................................................................9 Figura 2.4 Conjuntos de 3-itemsets...........................................................................................9 Figura 2.5 Conjuntos de 4-itemsets...........................................................................................9 Figura 2.6 Construção da FP-Tree (HAN; PEI; YIN, 2000)...................................................11 Figura 2.7 Exemplo de FP-Tree..............................................................................................12 Figura 2.8 Exemplo de FP-Tree condicional...........................................................................13 Figura 2.9 Algoritmo FP-Growth (HAN; PEI; YIN, 2000)....................................................13 Figura 2.10 Estruturas e padrões gerados pelo itemset “pão”.................................................14 Figura 3.1 Modelagem referente a um sistema bancário.........................................................19 Figura 3.2 - Relacionamentos e sua junção.............................................................................19 Figura 3.3 – Contrato de serviços em um sistema bancário....................................................21 Figura 3.4 - Exemplo de conversão de tabela dimensão.........................................................24 Figura 3.5 - Exemplo de esquema estrela (NG; FU; WANG, 2002)......................................24 Figura 3.6 - Árvore de prefixos...............................................................................................25 Figura 3.7 – Tabelas de um esquema estrela...........................................................................28 Figura 3.8 DW com informações bancárias............................................................................29 Figura 3.9 - Blocos e segmentos das tabelas fato envolvidas..................................................29 Figura 3.10 Algoritmo Connection (RIBEIRO; 2004)............................................................31 Figura 3.11 - MFP-Tree criada para a tabela fato Contrato....................................................32 Figura 3.12 - MFP-Tree criada para a tabela fato Movimento................................................32 Figura 3.13 Algoritmo MRFP Growth (KANODIA, 2005)....................................................34 Figura 3.14 Procedimento ID_Item_Mapping (KANODIA, 2005)........................................35 Figura 3.15 MRFP Tree referente à tabela primária Cliente...................................................36 Figura 3.16 MRFP Tree referente à tabela secundária Movimento.........................................36 Figura 3.17 MRFP Tree referente à tabela secundária Contrato.............................................37 Figura 3.18 MRFP Tree final..................................................................................................37 Figura 3.19 Algoritmo Apriori Group (RIBEIRO; VIEIRA; TRAINA, 2005)......................41 Figura 4.1 Informações bancárias............................................................................................46 Figura 4.2 Algoritmo GFP-Growth.........................................................................................54
Description: