Mineração de Padrões Sequenciais

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

INFORMAÇÕES COMPLEMENTARES
A busca das mulheres para alcançar seu espaço dentro das organizações
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
METODOLOGIAS 1. SONDAGEM NACIONAL entrevistas 2. QUESTIONÁRIOS 12 escolas básicas integradas da Grande Lisboa 3. GRUPOS DE FOCO 12 grupos.
Investor Relations4Q07 | 1. Investor Relations4Q07 | 2 2.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
MISSÕES ESTADUAIS.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Sumário Bem ou serviço compósito = dinheiro Exercícios 2 Exercícios 3.
Curso de ADMINISTRAÇÃO
PUCRS - PROGRAMA DE PÓS-GRADUAÇÃO EM PEDIATRIA E SAÚDE DA CRIANÇA Início do Mestrado: 1995 Início do Doutorado: 2004 Formou 63 Mestres e 3 doutores Conceito.
EXPRESSÕES ARITMÉTICAS
Análise Econômica Lucro Real Nívea Cordeiro 2011.
Paulo Sérgio Rodrigues PEL205
Aula 4 Nomes, Vinculações, Tipos e Escopos
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
A Tabuada.
Nossa Velha - Nova Cruz Alta Parte 31.
Provas de Concursos Anteriores
Renda até 2 SM.
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
Indicadores do Mercado de Meios Eletrônicos de Pagamento
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
PESQUISA SOBRE PRAZO MÉDIO DA ASSISTÊNCIA NA SAÚDE SUPLEMENTAR
(CESPE/ Técnico Judiciário do TRT 17ª Região/ES) O Superior Tribunal de Justiça entende que o candidato aprovado em concurso público dentro do limite.
Justificativas Racionalização do uso do Plano – evitar desperdícios Correção de distorções Tratamento isonômico para cônjuges servidores Manutenção da.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Regulamento FMTKD adaptado para Categorias Não-Oficiais
Bolha Posição de máx. W2 Ponto de Estagnação
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 06.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO IV – Nº 11.
Lemas (Sudkamp)  .
Trabalho sobre Cor Thiago Marques Toledo.
1 Indicadores do Mercado de Meios Eletrônicos de Pagamento Junho de 2006 Indicadores do Mercado de Meios Eletrônicos de Pagamento Junho de 2006.
JESUS SE ENCONTRA COM SEUS PRIMEIROS SEGUIDORES
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO IV – Nº 04.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO III – Nº 05.
FISCALIZAÇÃO DIRECIONADA NÍVEL DE SERVIÇO ANO I – Nº 7.
FISCALIZAÇÃO DIRECIONADA CONSERVAÇÃO - FROTA ANO III – Nº 11.
FISCALIZAÇÃO DIRECIONADA NÍVEL DE SERVIÇO ANO I – Nº 9.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO III – Nº 02.
FISCALIZAÇÃO DIRECIONADA NÍVEL DE SERVIÇO ANO I – Nº 4.
FISCALIZAÇÃO DIRECIONADA NÍVEL DE SERVIÇO ANO II – Nº 01.
Coordenação Geral de Ensino da Faculdade
Os números a seguir, representam as notas de
Múltiplos de um número Sonia Regina de Souza Guedes.
Plataforma Brasil – Submissão de pesquisa
Funcionários - Grau de Satisfação 2096 avaliações
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO V – Nº 01.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO IV – Nº 05.
PERFIL DOS BENEFICIÁRIOS E NÃO-BENEFICIÁRIOS DO PROGRAMA BOLSA FAMÍLIA EM TERMOS DE MERCADO DE TRABALHO: CONSIDERAÇÕES METODOLÓGICAS E SUBSTANTIVAS Alessandra.
Tributação da Exportação nas Empresas optantes pelo Simples Nacional
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Núcleo de Mídia – Comercial Ranking Nacional de Circulação - Domingos Evolução Mês* 3,38% 2,20% 1,39% 1,13% -4,84% 0,49% -6,16% -0,07% -0,71% 0,27% 0,43%
Núcleo de Estatística e Gestão Estratégica- NEGEST.
1/40 COMANDO DA 11ª REGIÃO MILITAR PALESTRA AOS MILITARES DA RESERVA, REFORMADOS E PENSIONISTAS - Mar 06 -
Projeto Medindo minha escola.
LINHAS MAIS RECLAMADAS Ranking Negativo para Fiscalização Direcionada Conservação - Frota ANO V – Nº 03.
NOVOS CONCEITOS DE DEPRECIAÇÃO PARA MÁQUINA E EQUIPAMENTOS
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Estatística Aula 9 – 28/02/2011.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
CONCEITOS FUNDAMENTAIS
Olhe fixamente para a Bruxa Nariguda
3ª PESQUISA DE REMUNERAÇÃO
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
AM020C A interface entre Meio Ambiente, Sociedade e Economia Indicadores de produtividade e empregabilidade da agricultura do Brasil. Aluna Andressa Santos.
Transcrição da apresentação:

Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International Conference on , vol., no., pp.3-14, 6-10 Mar 1995 Apresentado por Anderson Santos e Rodrigo Wilkens Descoberta de Conhecimentos de Base de Dados – UFRGS 2009

MP-Sequenciais Mineração de Padrões Mineração de Padrões Sequenciais Quais itens são comprados juntos em um transação? Mineração de Padrões Sequenciais Quais são os itens comprados em sequência, mas em dias diferentes? Sujeira entre sequências! Anderson Santos e Rodrigo Wilkens

MP-Sequenciais Suporte mínimo: Comparando Relativo a quantidade de clientes pelo número de clientes total Diferente do apriori que considera a quantidade total de transações Comparando MP: Ocorrência do item  número de transações MP-Sequencial: Número de clientes com a transação  número de clientes total Anderson Santos e Rodrigo Wilkens

MP-Sequenciais Problema: Dado uma base de dados D com transações, quais as relações das transações dos clientes com o passar do tempo? Anderson Santos e Rodrigo Wilkens

MP-Sequenciais Definições: Exemplos: Conjunto de Itens: itens comprados ao mesmo tempo Sequência: sequência de conjuntos de itens Sequência máxima: Não está contida em nenhuma outra sequência. Exemplos: {(3) (4,5) (8)} {(3) (4,5) (8)} está contido em {(7) (3,8) (9) (4,5,6) (8)} A sequência {(3) (5)} não está contida em {(3,5)} Anderson Santos e Rodrigo Wilkens

MP-Sequenciais Problema: Dado uma base de dados D com transações, quais as relações das transações dos clientes com o passar do tempo? Dado D, mineração de padrão sequencial é encontrar a sequência máxima entre todas as sequências que tem certo suporte mínimo. Anderson Santos e Rodrigo Wilkens

MP-Sequenciais Suporte MP: MP-Sequencial: Ocorrência do item  número de transações MP-Sequencial: Número de clientes com a transação  número de clientes Anderson Santos e Rodrigo Wilkens

Fases Sort Litemset Transformation Sequence Maximal Anderson Santos e Rodrigo Wilkens

Sort Ordenar a base de dados por ID do comprador e por data da transação; Realizado de forma simples por um comando SQL; Anderson Santos e Rodrigo Wilkens

Sort ID comprador Data Itens 1 25/03/93 30 30/03/93 90 2 10/06/93 10, 20 5 12/06/93 15/06/93 20/06/93 40, 60, 70 3 25/06/93 30, 50, 70 4 30/06/93 40, 70 25/07/93 ID comprador Data Itens 1 25/03/93 30 30/03/93 90 2 10/06/93 10, 20 15/06/93 20/06/93 40, 60, 70 3 25/06/93 30, 50, 70 4 30/06/93 40, 70 25/07/93 5 12/06/93 Anderson Santos e Rodrigo Wilkens

Fases Sort Litemset Transformation Sequence Maximal Anderson Santos e Rodrigo Wilkens

Litemset Encontrar o conjunto de todos os litemsets. Passos: Encontrando o conjunto de todas as grandes sequências (powerset das sequências). Passos: Agrupar dados por ID; Geração das sub-transações; Anderson Santos e Rodrigo Wilkens

Litemset – Agrupamento ID comprador Data Itens 1 25/03/93 30 30/03/93 90 2 10/06/93 10, 20 15/06/93 20/06/93 40, 60, 70 3 25/06/93 30, 50, 70 4 30/06/93 40, 70 25/07/93 5 12/06/93 ID comprador Itens 1 (30) (90) 2 (10, 20) (30) (40, 60, 70) 3 (30, 50, 70) 4 (30) (40, 70) (90) 5 (90) Anderson Santos e Rodrigo Wilkens

Litemset – Sub-transações ID comprador Itens 1 (30) (90) 2 (10, 20) (30) (40, 60, 70) 3 (30, 50, 70) 4 (30) (40, 70) (90) 5 (90) ID comprador Itens 1 {(30)} {(90)} 2 {(10)} {(20)} {(10, 20)} {(30)} {(40)} {(60)} {(70)} {(40, 60)} {(40, 70)} {(60, 70)} ... 3 {(30)} {(50)} {(70)} {(30), (50), (30 50)} {(30 50)} {(30), (70), (30 70)} {(30 70)} {(50), (70), (50 70)} {(50 70)} ... 4 {(30)} {(40)} {(70)} {(40 70)} {(40), (70), (40 70)} {(90)} 5 {(90)} Anderson Santos e Rodrigo Wilkens

Fases Sort Litemset Transformation Sequence Maximal Anderson Santos e Rodrigo Wilkens

Transformation Em uma transformação de sequência de um comprador: Cada transação é substituída pelo conjunto de todos os l-itemsets contidos na transação; Passos: Transformação pelo limite do minSup; (semelhante ao apriori) Mapeamento; Anderson Santos e Rodrigo Wilkens

Transformation – Limite ID comprador Itens 1 {(30)} {(90)} 2 {(10)} {(20)} {(10, 20)} {(30)} {(40)} {(60)} {(70)} {(40, 60)} {(40, 70)} {(60, 70)} ... 3 {(30)} {(50)} {(70)} {(30), (50), (30 50)} {(30 50)} {(30), (70), (30 70)} {(30 70)} {(50), (70), (50 70)} {(50 70)} ... 4 {(30)} {(40)} {(70)} {(40 70)} {(40), (70), (40 70)} {(90)} 5 {(90)} ID comprador Itens 1 {(30)} {(90)} 2 {(30)} {(40), (70), (40, 70)} 3 {(30), (70)} 4 {(30)} {(40), (70), (40, 70)} {(90)} 5 {(90)} Suporte = 25% Anderson Santos e Rodrigo Wilkens

Transformation – Mapeamento ID comprador Itens 1 {(30)} {(90)} 2 {(30)} {(40), (70), (40, 70)} 3 {(30), (70)} 4 {(30)} {(40), (70), (40, 70)} {(90)} 5 {(90)} Mapa Item Símbolo (30) 1 (40) 2 (70) 3 (40 70) 4 (90) 5 ID comprador Itens 1 {1} {5} 2 {1} {2, 3, 4} 3 {1, 3} 4 {1} {2, 3, 4} {5} 5 {5} Anderson Santos e Rodrigo Wilkens

Fases Sort Litemset Transformation Sequence Maximal Anderson Santos e Rodrigo Wilkens

Sequence Usa o conjunto de l-itemsets para encontrar as sequências grandes desejadas. Algoritmos: Cont All Conta todas as l-sequencias, incluindo as não máximas; Ex.: AprioriAll Cont Some Interesse é nas l-sequências máximas, então, não conta sequências que não são contidas em um l-sequência; Ex.: AprioriSome e DynamicSome Anderson Santos e Rodrigo Wilkens

Fases Sort Litemset Transformation Sequence Maximal Anderson Santos e Rodrigo Wilkens

Maximal Encontrar a sequência máxima entre os conjuntos de maior sequência. Anderson Santos e Rodrigo Wilkens

Maximal l-sequências {1} {5} {1} {2, 3} {1} Mapa Item Símbolo (30) 1 (40) 2 (70) 3 (40 70) 4 (90) 5 L-sequências (30) (90) (30) (40 70) Anderson Santos e Rodrigo Wilkens

Fases Sort Litemset Transformation Sequence Maximal Anderson Santos e Rodrigo Wilkens

AprioriAll A cada fase gera as k-sequências grandes Recebe os dados da fase de transformação para inicializar o 1-sequência Base de exemplo: Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 1-sequence Support 1 4 2 2 3 4 5 Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Continuando com o exemplo para gerar 2-sequências grandes: Para tal, ele realiza um join com k-1 anterior: 2-sequence 1 2 3 1 5 2 1 3 3 2 5 3 1 4 3 4 5 4 1 5 3 5 2 1 4 1 2 2 4 2 2 3 4 3 2 4 4 5 2 5 5 1 1-sequence Support 1 4 2 2 3 4 5 Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo para as 2-sequências (Passando pelo banco): Retira as que não possuem o suporte mínimo: 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Continuando com o exemplo para gerar 3-sequências grandes (apriori-generate) : Para tal, ele realiza um join com (k-1)-sequências anterior, considerando as sequências similares Depois poda as sequências geradas baseando-se na lista anterior (k-1)-sequências. Anderson Santos e Rodrigo Wilkens

? AprioriAll 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 ? Anderson Santos e Rodrigo Wilkens

AprioriAll 5 2 1 ? 1 2 5 ? 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 1 2 5 ? Anderson Santos e Rodrigo Wilkens

AprioriAll 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 3-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Poda as sequências que possuem sub-sequências que não estão em k-1-sequence: 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 3-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 Anderson Santos e Rodrigo Wilkens

AprioriAll Realizando a podagem 1 2 2 1 3 4 1 4 3 1 5 2 3 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 3-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 Anderson Santos e Rodrigo Wilkens

AprioriAll Se não utilizasse a tática do join, o número de podas seria maior e não seria somente necessário verificar a sub-sequencia final! 3-sequence 1 2 3 1 4 5 1 2 4 1 5 2 1 2 5 1 5 3 1 3 2 1 5 4 1 3 4 2 3 4 1 3 5 2 4 3 1 4 2 3 4 5 1 4 3 3 5 4 3-sequence 1 2 3 1 2 4 1 3 4 1 3 5 1 4 5 2 3 4 3 4 5 Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Agora sim! Vamos ao banco! 3-sequence Suporte 1 2 3 2 1 2 4 1 3 4 3 1 3 5 1 4 5 1 2 3 4 3 4 5 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Continuando com o exemplo para gerar 4-sequências grandes: 3-sequence Suporte 1 2 3 2 1 2 4 1 3 4 3 1 3 5 2 3 4 4-sequence 1 2 3 4 1 2 4 3 1 3 4 5 1 3 5 4 Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Podando: 3-sequence Suporte 1 2 3 2 1 2 4 1 3 4 3 1 3 5 2 3 4 4-sequence 1 2 3 4 1 2 4 3 1 3 4 5 1 3 5 4 4-sequence 1 2 3 4 Anderson Santos e Rodrigo Wilkens

AprioriAll Verifica o suporte mínimo passando pelo banco Gera os candidatos da próxima fase Poda os candidatos Verifica o suporte mínimo passando pelo banco Anderson Santos e Rodrigo Wilkens

AprioriAll Contando com o banco: 4-sequence Suporte 1 2 3 4 2 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 4-sequence Suporte 1 2 3 4 2 Anderson Santos e Rodrigo Wilkens

AprioriAll L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência C3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Máximas 1 2 3 4 L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens

AprioriAll L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Sub sequências Máximas 1 2 3 4 L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens

AprioriAll L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Sub sequências Máximas 1 2 3 4 1 3 5 Anderson Santos e Rodrigo Wilkens

AprioriAll L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 4 5 Máximas 1 2 3 4 1 3 5 4 5 Anderson Santos e Rodrigo Wilkens

AprioriSome Conta apenas as sequências de tamanho k; Diminui tempo desperdiçado: Conta sequências não máximas; Conta extensões de pequenas sequências candidatas; Anderson Santos e Rodrigo Wilkens

AprioriSome Comportamentos Extremos: Incremento de K pelo seu sucessor  transforma-se no aprioriAll Incremento por multiplicação extrema  corta as sequências não máximas e as candidatas de tamanho pequeno. Anderson Santos e Rodrigo Wilkens

AprioriSome Heurística hitk =|Lk|/|Ck| hitk < 0,666  k+1 Anderson Santos e Rodrigo Wilkens

AprioriSome Geração de candidatos: Utiliza o aprioriGenerate forward Realiza a produção de candidatos Remove as sequências encontradas que não são máximas. backward Conta sequências para tamanhos não contados na fase forward; Remove as sequências contidas em sequências maiores; Anderson Santos e Rodrigo Wilkens

AprioriSome Passos backward Conta C1 e cria L1 Conta C2 e cria L2 Gera C3 Gera a C4 partir de C3 Realiza a poda em C4 e cria L4 Gera C5|C5 =  Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 1-sequence Support 1 4 2 2 3 4 5 Anderson Santos e Rodrigo Wilkens

AprioriSome Passos backward Conta C1 e cria L1 Conta C2 e cria L2 Gera C3 Gera a C4 partir de C3 Realiza a poda em C4 e cria L4 Gera C5|C5 =  1-sequence Support 1 4 2 2 3 4 5 k = 1 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens

AprioriSome Passos backward Conta C1 e cria L1 Conta C2 e cria L2 Gera C3 Gera a C4 partir de C3 Realiza a poda em C4 e cria L4 Gera C5|C5 =  2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 f(k) = 2k k = 2 C3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 3 4 5 Anderson Santos e Rodrigo Wilkens

AprioriSome Passos backward Conta C1 e cria L1 Conta C2 e cria L2 Gera C3 Gera a C4 partir de C3 Realiza a poda em C4 e cria L4 Gera C5|C5 =  C3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 3 4 5 C4 1 2 3 4 1 3 4 5 Anderson Santos e Rodrigo Wilkens

AprioriSome Passos backward Conta C1 e cria L1 Conta C2 e cria L2 C4 Gera C3 Gera a C4 partir de C3 Realiza a poda em C4 e cria L4 Gera C5|C5 =  C4 1 2 3 4 1 3 4 5 L4 1 2 3 4 Anderson Santos e Rodrigo Wilkens

AprioriSome Passos backward Conta C1 e cria L1 Conta C2 e cria L2 Gera C3 Gera a C4 partir de C3 Realiza a poda em C4 e cria L4 Gera C5|C5 =  L4 1 2 3 4 C5  Anderson Santos e Rodrigo Wilkens

AprioriSome L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência C3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 3 4 5 Máximas 1 2 3 4 L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens L1 ...

AprioriSome L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Máximas 1 2 3 4 Remove 3 4 5 por não ter suporte L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 L1 ... Anderson Santos e Rodrigo Wilkens

AprioriSome L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 2 3 1 2 4 1 3 4 1 3 5 2 3 4 Sub sequências Máximas 1 2 3 4 L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 L1 ... Anderson Santos e Rodrigo Wilkens

AprioriSome L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Máximas 1 2 3 4 1 3 5 Anderson Santos e Rodrigo Wilkens

AprioriSome L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 1 2 1 3 1 4 1 5 2 3 2 4 3 4 3 5 4 5 Sub sequências Máximas 1 2 3 4 1 3 5 L1 1 2 3 4 5 Anderson Santos e Rodrigo Wilkens

AprioriSome L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 4 5 L1 1 2 3 4 5 Máximas 1 2 3 4 1 3 5 4 5 Anderson Santos e Rodrigo Wilkens

AprioriSome L4 Passos forward 1 2 3 4 Remove as sequências sem suporte mínimo ou que são sub sequência de outra sequência L3 1 3 5 L2 4 5 L1 1 2 3 4 5 Máximas 1 2 3 4 1 3 5 4 5 Sub sequências Anderson Santos e Rodrigo Wilkens

DynamicSome Definições: Fases: Passon: De quantas em quantas n-sequências irá pular. Fases: Inicialização Realiza a produção de candidatos como aprioriall até a n-sequência (utiliza apriori-generate). Forward Apenas encontra as k-sequências multiplas de n. Ex: Passo = 3, encontrará C6 baseado no join de L3 com L3, para C9 é feito o join de L6 com L3 (utilizando otf-generate). Intermediate Seguindo o exemplo acima, serão gerados C8 e C7 depois de deletar as sequências não máximas (backward phase), o processo é repetido para C4 e C5 (na implementação atual a fase intermediária é mesclada com a fase de retorno (backward) por questões de desempenho Utiliza o apriori-generate Anderson Santos e Rodrigo Wilkens

DynamicSome Fases: otf-generate Argumentos: Lk e Lj e as sequências dos usuários. Realiza o join entre Lk e Lj encontrados dentro de cada sequência de usuário. Anderson Santos e Rodrigo Wilkens

DynamicSome Exemplificado: O processo: Utilizando o banco de exemplo anterior. Passo = 2. O processo: Inicializa como o aprioriall até L2 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Anderson Santos e Rodrigo Wilkens

DynamicSome Forward Pula para geração de C4. É encontrado a partir dos dados (usando o otf-generate): Sequência Início Fim 1 2 1 2 1 3 3 1 4 4 2 3 2 4 3 4 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 4-sequence Suporte 1 2 3 4 1 Anderson Santos e Rodrigo Wilkens

DynamicSome Forward Pula para geração de C4. É encontrado a partir dos dados (usando o otf-generate): Lk e Lj são L2. Sequência Início Fim 1 3 1 2 3 1 4 4 1 5 3 4 3 5 4 5 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 4-sequence Suporte 1 3 4 5 1 Anderson Santos e Rodrigo Wilkens

DynamicSome Forward Pula para geração de C4. É encontrado a partir dos dados (usando o otf-generate): Sequência Início Fim 1 2 1 2 1 3 3 1 4 4 2 3 2 4 3 4 Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 2-sequence Support 1 2 2 1 3 4 1 4 3 1 5 2 3 2 4 3 4 3 5 4 5 4-sequence Suporte 1 2 3 4 2 Anderson Santos e Rodrigo Wilkens

DynamicSome Forward Pula para geração de C4. É encontrado a partir dos dados (usando o otf-generate): Base de Dados {1 5} {2} {3} {4}) {1} {3} {4} {3 5}) {1} {2} {3} {4}) {1} {3} {5}) {4} {5}) 4-sequence Suporte 1 2 3 4 2 1 3 4 5 1 Anderson Santos e Rodrigo Wilkens

DynamicSome Backward Não são geradas e nem contadas as sequências não máximas de C3: 1 2 3; 1 2 4; 1 3 4; Então somente 1 3 5 é gerado e contada no banco em C3. As 2-sequências não máximas são eliminadas como no AprioriAll e AprioriSome. Gerando o resultado: Máximas 1 2 3 4 1 3 5 4 5 Anderson Santos e Rodrigo Wilkens

Performance - Relativa Gerou-se 4 BD com sequências de usuários. Anderson Santos e Rodrigo Wilkens

Performance - Relativa Não foi possível mostrar execuções do DynamicSome para suporte menor que 0.2% Devido a geração exagerada de candidatos O DynamicSome obteve o pior desempenho A vantagem do AprioriSome sobre o AprioriAll é devido a não contar sequências não máximas. Para pequenos suportes que geram sequências longas tem-se melhor desempenho com o AprioriSome Anderson Santos e Rodrigo Wilkens

Performance - Escalabilidade Anderson Santos e Rodrigo Wilkens

Performance - Escalabilidade Anderson Santos e Rodrigo Wilkens

Performance - Escalabilidade Aumento de dados (por fatores independentes) Aumento de transações por usuário, mantendo a média de itens por transação Aumento da média de itens por transação mantendo o número de transações por usuário Suporte mínimo fixo pela quantidade de usuários (não pela %) Anderson Santos e Rodrigo Wilkens

Performance - Escalabilidade Anderson Santos e Rodrigo Wilkens

Mineração de Padrões Sequenciais Agrawal, R.; Srikant, R., "Mining sequential patterns," Data Engineering, 1995. Proceedings of the Eleventh International Conference on , vol., no., pp.3-14, 6-10 Mar 1995 Apresentado por Anderson Santos e Rodrigo Wilkens Descoberta de Conhecimentos de Base de Dados – UFRGS 2009