Mestrado em Ciência da Computação 2008 Padrões Sequenciais Aula 5 Sandra de Amo 3/25/2017 Mestrado em Ciência da Computação 2008
Padrões Estruturados: Porque ? Dados científicos não podem ser vistos como simples itemsets Dados científicos apresentam estruturas mais complexas Hierarquias Propriedades geométricas Exemplos Moléculas – Estruturas das proteínas Controle de tráfico, workflow Documentos XML, Logs de navegação na Web, Redes sociais. 3/25/2017 Mestrado em Ciência da Computação 2008
Padrões Estruturados : Sequências Base de dados = conjunto de sequências sequência de artigos comprados um cliente durante um periodo de tempo. sequência de sintomas de um paciente durante um periodo de tempo. sequência de ações para evacuar uma cidade em caso de radiação atômica. sequência de páginas web visitadas por um internauta sequência de nucleotídeos (DNA) Padrão Sequencial Lista de items ou itemsets (artigos, sintomas) que aparecem em diversas sequências de dados. 3/25/2017 Mestrado em Ciência da Computação 2008
Exemplo Padrão Sequencial Padrão Sequencial = Conjunto de items + 1 ,player} , 2 {Computador} 3 , {player, 4 {player} , {Computador} 5 {Computador} , {Impressora} {TV {DVD} Padrão Sequencial < {TV}, {DVD} > {TV} DVD} Sequência de itemsets Padrão Sequencial = Conjunto de items + estrutura de ordem total (linear) 3/25/2017 Mestrado em Ciência da Computação 2008
Mestrado em Ciência da Computação 2008 Conceitos de Base Padrão Sequencial = < s1,… sn > si = itemset = {a1,…,ak} Seja S = < s1,… sm > uma sequência de dados P = padrão sequencial = < p1,… pn > S contém P se : S1 , … Si, … Sj, … , Su, … , Sm p1,…, pl, …, pn 3/25/2017 Mestrado em Ciência da Computação 2008
Suporte de um padrão sequencial D : Base de Dados de Sequências, P = Padrão Sequencial Suporte (P) = Nb de sequências S em D tais que S contem P Total de sequências em D Tamanho de um padrão sequencial = nb de items do padrão < {a,b}, {c,d}, {a,c} > tem 6 items = 6-padrão 3/25/2017 Mestrado em Ciência da Computação 2008
Exemplo Suporte(P) = 2/5 = 40% Base de Dados D 1 2 3 4 5 {TV {DVD} Player} , 2 {Computador} 3 , {Player, 4 {Player} , {Computador} 5 {Computador} , {Impressora} {TV {DVD} {Scanner} , {TV} DVD} Padrão P Suporte(P) = 2/5 = 40% < {TV} , {DVD} > 3/25/2017 Mestrado em Ciência da Computação 2008
Problema: Mineração de Padrões Sequenciais Dados: Uma base de dados de sequências Um nível mínimo de suporte , 1 ≥ > 0 Encontrar todos os padrões sequenciais frequentes em D com respeito a . 3/25/2017 Mestrado em Ciência da Computação 2008
Algoritmos de Mineração de Sequências Técnica Apriori – Busca em Largura Apriori-All [Agrawal - Srikant 1995] GSP [Agrawal – Srikant 1996] Classes d’Equivalência – Busca em Profundidade SPADE [M. Zaki, 2001] Sem geração de candidatos PrefixSpan [Han+, 2001] 3/25/2017 Mestrado em Ciência da Computação 2008
Mestrado em Ciência da Computação 2008 Algoritmo GSP Propriedade Importante: Antimonotonia Frequente d c b h g f e l k j i m a d c b a h g f e l k j i d c b h g f e l k j i m Frequentes 3/25/2017 Mestrado em Ciência da Computação 2008
Propriedade da Antimonotonia Se S = <s1, …, sn> é frequente k = tamanho de S, então : S’ = S – primeiro item de s1 e S’’= S – último item de sn S’ e S’’ são padrões frequentes de tamanho k-1. 3/25/2017 Mestrado em Ciência da Computação 2008
Como combinar dois padrões sequenciais ? f e d i h g c b f e d i h g c b f e d i h g c b f e d i h g j j Padrão Resultante 3/25/2017 Mestrado em Ciência da Computação 2008
GSP – Geração dos candidatos < {1,2}, {3} > < {1,3}, {5} > F3 < {1,2}, {4} > < {2}, {3,4} > < {1}, {3,4} > < {2}, {3}, {5} > < {1,2}, {3,4} > C4 < {1,2}, {3}, {5} > 3/25/2017 Mestrado em Ciência da Computação 2008
Mestrado em Ciência da Computação 2008 GSP – Poda < {1,2}, {3} > < {1,3}, {5} > F3 < {1,2}, {4} > < {2}, {3,4} > < {1}, {3,4} > < {2}, {3}, {5} > < {1,2}, {3,4} > < {1,2}, {3,4} > < {1,2}, {3,4} > < {1,2}, {3,4} > < {1,2}, {3,4} > C4 C4 = < {1,2}, {3,4} > < {1,2}, {3}, {5} > < {1,2}, {3}, {5} > 3/25/2017 Mestrado em Ciência da Computação 2008
GSP – Cálculo do Suporte Suporte Mínimo: 50% Base de Dados 1 2 3 4 Candidatos Cálculo do Suporte < {3,1,5,2}, {5}, {3,5,4} > < {3,1,5,2}, {5}, {3,5,4} > < {1,2}, {3,4} > < {2}, {3,4} > < {4,5}, {1,3,2}, {3,5,4,7} > < {4,5}, {1,3,2}, {3,5,4,7} > < {3}, {2,5} > F4 = < {1,2}, {3,4} > 3/25/2017 Mestrado em Ciência da Computação 2008
Mestrado em Ciência da Computação 2008 Algoritmo GSP [EDBT 1996] Entrada : BD de sequências, 1 ≥ N ≥ 0 Saida : Todos os padrões frequentes na BD C1 = Padrões sequenciais de tamanho 1 F1 = Padrões sequenciais frequentes de C1 k : = 1 While Fk não vazio Ck+1 := Combina(Fk, Fk) Ck+1 := Poda(Ck, Fk) Fk+1 : = Calcula-suporte(BD,Ck+1, N) k : = k+1 3/25/2017 Mestrado em Ciência da Computação 2008
Exemplo completo simples Base de dados suporte = 2/3 <{a,b}, {f}> <{a}, {b}, {c}> <{d}, {a,e}, {b} ,{e,c} > C1 = <a> <b> <c> <d> <e> <f> F1 = <a>, <b>, <c> C2 = <{a},{a}> <{a,b}> <{a},{b}> {<{b},{a}> <{b},{b}> <{a},{c}> <{c},{a}> <{a,c}> <{b,c}> <{b},{c}>, <{c},{c}> , <{c},{b}> F2 = <{a},{b}> <{a},{c}> <{b},{c}> C3 = <{a},{b},{c}> F3 = <{a},{b},{c}> C4 = vazio 3/25/2017 Mestrado em Ciência da Computação 2008
Mestrado em Ciência da Computação 2008 Referências Artigos: Agrawal, R., Srikant, R. : Mining Sequential Patterns : Generalizations and Performance Improvements. Proc. 5th EDBT, 3-17, 1996. Agrawal, R., Srikant, R. : Mining Sequential Patterns. Proc. ICDE 1995, pages 1-14. Implementações: Christian Borgelt's Webpages http://www.borgelt.net//software.html Referências PáginaSrikant http://www.rsrikant.com/publications.html#conf Página Agrawal http://rakesh.agrawal-family.com/pubs.html/ 3/25/2017 Mestrado em Ciência da Computação 2008