Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de...

44
Cecília Henriques Devêza [email protected] Orientador: Luiz Henrique de Campos Merschmann Ouro Preto, 13 de Junho de 2011 Minerando Padrões Sequenciais para Bases de Dados de Lojas Virtuais Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação

Transcript of Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de...

Page 1: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Cecília Henriques Devêza

[email protected]

Orientador: Luiz Henrique de Campos Merschmann

Ouro Preto, 13 de Junho de 2011

Minerando Padrões Sequenciais para

Bases de Dados de Lojas Virtuais

Universidade Federal de Ouro Preto

Instituto de Ciências Exatas e Biológicas

Departamento de Computação

Page 2: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Roteiro

Processo KDD

Tarefas de Mineração de Dados

Definição e exemplo

Objetivos

Ferramenta Computacional Dados Amostrais

Correção de caracteres

Pré-processamento

Mineração de Dados

Pós-Processamento

Aplicação

Conclusão

Page 3: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Processo KDD

Processo de descoberta de conhecimento em

bases de dados.

Page 4: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Tarefas de Mineração de Dados

Extração de regras de associação / padrões de

sequência

Classificação

Agrupamento (Clustering)

Regressão

Page 5: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Tarefas de Mineração de Dados

Extração de regras de associação / padrões de

sequência

Classificação

Agrupamento (Clustering)

Regressão

Page 6: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Definição e exemplo

Regras de Associação: representam um padrão de relacionamento

entre itens de dados. Ex: leite, pão => refrigerante.

Padrões de Sequência: conjunto de itens que ocorrem seguindo

uma ordem temporal. Ex: <{pão, leite},{cerveja}>

ID Transação Itens comprados

1 leite, pão, refrigerante

2 cerveja, carne

3 cerveja, fralda,pão, leite, refrigerante

4 cerveja, fralda, leite, pão

5 fralda, leite, refrigerante,pão

Consumidor Data / Hora Produtos

João 20/03/2010 leite, pão

João 21/03/2010 carne, cerveja

João 15/07/2010 queijo, manteiga, sal

Marcos 28/09/2010 leite, ovos, pão

Marcos 02/12/2010 queijo, manteiga, cerveja

Page 7: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Objetivos

Propor uma ferramenta computacional

capaz de processar dados de lojas virtuais.

Extrair padrões sequenciais de visualização

de produtos por clientes de lojas virtuais.

Obter conhecimento para adaptação

automática do ambiente virtual (site) das

lojas.

Page 8: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Dados das lojas virtuais

Base de dados disponibilizada

Trans. IdCliente Produto Loja Data

1 223954afbfc851101040 Mitiflex C 2010-04-05

2 af9a49394f5486385aeb Pequenas Fontes... B 2010-04-05

3 f7c191a0cd6a75c5cbe2 Surdez Processos... C 2010-04-05

4 2aw23ew3983y4thi4438 CDI Digital DAFRA... D 2010-04-05

5 t52kdi7486db5g1mnk6t8 Agulha Auricular C... A 2010-04-06

6 64dsb8dbdf8bfdb6wd65 Zumbido Avaliação... C 2010-04-07

... ... ... ... ...

3.525.926 d2f1dsg23sd1gs35ytj5ui O Pastor Alemão B 2010-04-07

Page 9: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Correção de Erros

Substituição de caracteres inválidos para um

caractere único: “?”.

Seleção das tuplas que contém “?” e geração de

um script SQL

Correção das manual dos caracteres no script

Execução do script para substituição completa

Trans. IdCliente Produto Loja Data

1 726967830080c48 Método das Boquinhas 1 Alfabetizaço... C 2010-04-05

2 726967830080c48 Ponta De LÃngua Com 10 Unidades B 2010-04-05

3 B408d92d61a284 J.Aplicados à Fonoaudiologia Prýtica C 2010-04-05

4 2aw23ew399thi44 PaquÃmetro 18 cm D 2010-04-05

Page 10: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Tela Inicial

Page 11: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Tela Inicial

Page 12: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Pré-processamento

Validação do arquivo

Page 13: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Pré-processamento

Seleção de dados: definição de loja virtual.

Page 14: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Pré-processamento

Seleção de dados: remoção de tuplas únicas.

Page 15: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Pré-processamento

Transformação de dados: mapeamento de

identificadores de clientes e produtos.

Clientes Produtos

5e182b89fb42e9cd6d9585 Ponto Cristal com 100 Unid

633a7f6e14b5094d116863 Óleo Hung Far Oir 30 ml

5e182b89fb42e9cd6d9585 Ventosa 19 Copos

Clientes Produtos

34 261

93 92

22 170

Page 16: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Pré-processamento

Geração do arquivo .arff

Page 17: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Mineração de Dados

Execução

Page 18: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Mineração de Dados

Algoritmo GSP

Geração de

candidatos

Poda de candidatosDefinição de

frequentes

Propriedade: Para uma sequencia ser frequente, todas suas

subsequencias também devem ser frequentes.

Page 19: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Pós-processamento

Mapeamento dos dados

Sequencias

<{261}{246}>

<{92}{140}{170}>

<{0}{3}{4}>

Sequencias Mapeadas

<{...com Fecho De Velcro} {...com Fecho De Metal}>

<{Acuspointer...}{Sikuro Ds100jr}{Wq 10}>

<{Ponto Cristal...}{Mapa De Auriculoterapia...}{Orelhas com Ponto...}>

Page 20: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Apresentação dos resultados

Exibição das sequencias na tela

Page 21: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Salvar arquivo de soluções

Apresentação dos resultados

Page 22: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Exemplo de utilização para arquivo XML

Aplicação

Page 23: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Conclusão

Foi apresentado um software capaz de

extrair padrões sequenciais de uma base

de dados de loja virtual.

Resultados obtidos:

Induzem o consumidor à compra de outros itens.

Oferecem ao cliente produtos condizentes com

sua expectativa.

Page 24: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Perguntas?

Page 25: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Fim

Page 26: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Anexo - GSP

Page 27: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Algoritmo GSP – Iteração 1GERAÇÃO DE PRÉ-CANDIDATOS E CÁLCULO DE SUPORTE

TID Produtos

1 <{2, 1, 4, 6}, {3, 7, 8}, {5},

{9}>

2 <{2, 4, 5}, {1, 6, 7}, {3}>

3 <{2, 4}, {1, 5}>

4 <{1, 3}, {2, 4, 5}>

Prods. Suporte

<{1}> 4

<{2}> 4

<{3}> 3

<{4}> 4

<{5}> 4

<{6}> 2

<{7}> 2

<{8}> 1

<{9}> 1

Supondo suporte mínimo igual a 50%, todos os itens são

considerados frequentes nesta iteração exceto o {8} e {9}.

Page 28: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Algoritmo GSP – Iteração 2GERAÇÃO DE PRÉ-CANDIDATOS

(k=1)

<{1}>

<{2}>

<{3}>

<{4}>

<{5}>

<{6}>

<{7}>

L1 X L1

<{1}> <{1}>

<{2}> <{2}>

<{3}> <{3}>

<{4}> <{4}>

<{5}> <{5}>

<{6}> <{6}>

<{7}> <{7}>

Na segunda iteração, são criados todos os conjuntos possíveis de 2 itens.

Os conjuntos que possuem o mesmo elemento, na mesma transação,

sempre possuem frequência 0. (Ex.: <{1, 1}>).

TID Produtos

1 <{1, 1}>, <{1}, {1}>

2 <{1, 2}>, <{1}, {2}>

3 <{1, 3}>, <{1}, {3}>

4 <{1, 4}>, <{1}, {4}>

5 <{1, 5}>, <{1}, {5}>

6 <{1, 6}>, <{1}, {6}>

7 <{1, 7}>, <{1}, {7}>

8 <{2, 1}>, <{2}, {1}>

9 <{2, 2}>, <{2}, {2}>

10 ...

Page 29: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Algoritmo GSP – Iteração 2DEFINIÇÃO DOS FREQUENTES

Tendo todos os candidatos possíveis de 2 itens, é necessário

verificar quais atendem ao suporte mínimo especificado.

Esta verificação será mostrada posteriormente.

Page 30: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Algoritmo GSP – Iteração 3

A partir desta iteração, é preciso ficar atento para a seguinte regra:

Os candidatos só podem ser gerados a partir de duas sequências

ligáveis.

Duas sequências s = < s1, s2, s3, s4, ..., sn > e t = < t1, t2, t3, t4, ..., tm >

são ditas ligáveis se, retirando-se o primeiro item de s1 e o último item de

tm, as sequências resultantes são iguais. Neste caso, s e t podem ser

ligadas e produzir a sequência V, onde:

• Se tm não é unitário: v = <s1, s2, s3, ..., sn U t’>, onde t’ é o último item

de tm.

• Se tm é unitário: v = <s1, s2, s3, ..., sn, tm>

Page 31: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Algoritmo GSP – Iteração 3GERAÇÃO DE PRÉ-CANDIDATOS

(k=2)

<{1}, {2}>

<{1}, {3}>

<{1}, {4}>

<{1, 5}>

<{2}, {6}>

<{2, 6}>

<{6}, {7}>

<{4},{6}>

<{3, 7}>

<{5, 6}>

<{4, 7}>

TID Produtos

1 <{1}, {2}, {6}>

2 <{1}, {2,6}>

3 <{1}, {3, 7}>

4 <{1}, {4}, {6}>

5 <{1}, {4, 7}>

6 <{1, 5, 6}>

7 <{2}, {6}, {7}>

8 <{2, 6}, {7}>

9 <{4}, {6}, {7}>

10 <{5, 6}, {7}>

Suponha que as 2-sequências mostradas abaixo atingiram o suporte mínimo.

Page 32: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Algoritmo GSP – Iteração 3FASE DE PODA DOS PRÉ-CANDIDATOS

(k=2)

<{1}, {2}>

<{1}, {3}>

<{1}, {4}>

<{1, 5}>

<{2}, {6}>

<{1, 6}>

<{6}, {7}>

<{4},{6}>

<{3, 7}>

<{5, 6}>

<{4},{7}>

(K=3)

<{1, 5, 6}>

<{4}, {6}, {7}>

TID Produtos

1 <{1}, {2}, {6}>

2 <{1}, {2,6}>

3 <{1}, {3, 7}>

4 <{1}, {4}, {6}>

5 <{1}, {4, 7}>

6 <{1, 5, 6}>

7 <{2}, {6}, {7}>

8 <{2, 6}, {7}>

9 <{4}, {6}, {7}>

10 <{5, 6}, {7}>

Para uma sequencia S ser frequente, então toda subsequência de S deve ser

frequente.

A subsequência

<{1}, {6}> não

pertence à Lk=2

Page 33: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Algoritmo GSP – Iteração 3DEFINIÇÃO DOS FREQUENTES

Novamente, é feito o cálculo do suporte para os candidatos que

permaneceram após a poda. Este cálculo é mostrado a seguir.

Page 34: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Definição das sequencias frequentesGERAÇÃO DA ÁRVORE-HASH

Suponha as seguintes 2-sequências candidatas:

(k=2)

<{1, 3}>

<{1}, {3}>

<{2}, {3}>

<{3}, {3}>

<{2, 3}>

<{1}, {4}>

Para construir a árvore hash, é preciso definir duas variáveis M e N, sendo:

• M : Número de sequências que cabem em um mesmo nó.

• N : Número de nós-filhos que um nó pode possuir.

Neste exemplo, usaremos M=3, N=2.

Page 35: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

GSP - Cálculo do Suporte

Inserindo as 3 primeiras sequências na árvore:

<{1, 3}>

<{1}, {3}>

<{2}, {3}>

Na hora de inserir a quarta sequência <{3}, {3}>, o nó-raiz está cheio!

Primeiramente, definimos as funções de hash para cada item que aparece

na base:

h(1) = 1; h(2) = 2; h(3) = 1; h(4) = 2; h(5) = 1. (Variam de acordo com N).

<{1, 3}>

<{1}, {3}>

<{3}, {3}>

<{2}, {3}>

Page 36: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

GSP - Cálculo do Suporte

Inserindo a sequência <{2, 3}> na árvore:

<{1, 3}>

<{1}, {3}>

<{3}, {3}>

<{2}, {3}>

<{2, 3}>

Na hora de inserir <{1}, {4}> seu nó de destino encontra-se cheio!

Page 37: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

Inserindo a sequência <{1}, {4}> na árvore:

<{1, 3}>

<{1}, {3}>

<{3}, {3}>

<{2}, {3}>

<{2, 3}>

<{1}, {4}>

GSP - Cálculo do Suporte

Page 38: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

INCLUDE

<{2}, {3}>

<{2, 3}>

<{1}, {4}>

CONTANDO AS FREQUÊNCIAS A PARTIR DA ÁRVORE HASH

Supondo a seguinte sequência de cliente: c = <{1, 5}, {1}, {3}>

h(1) = 1; h(2) = 2; h(3) = 1; h(4) = 2; h(5) = 1

GSP - Cálculo do Suporte

Page 39: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

INCLUDE

<{2}, {3}>

<{2, 3}>

<{1}, {4}>

CONTANDO AS FREQUÊNCIAS A PARTIR DA ÁRVORE HASH

Supondo a seguinte sequência de cliente: c = <{1, 5}, {1}, {3}>

h(1) = 1; h(2) = 2; h(3) = 1; h(4) = 2; h(5) = 1

GSP - Cálculo do Suporte

Page 40: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

INCLUDE

<{2}, {3}>

<{2, 3}>

<{1}, {4}>

CONTANDO AS FREQUÊNCIAS A PARTIR DA ÁRVORE HASH

Supondo a seguinte sequência de cliente: c = <{1, 5}, {1}, {3}>

h(1) = 1; h(2) = 2; h(3) = 1; h(4) = 2; h(5) = 1

GSP - Cálculo do Suporte

Page 41: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

INCLUDE

<{2}, {3}>

<{2, 3}>

<{1}, {4}>

CONTANDO AS FREQUÊNCIAS A PARTIR DA ÁRVORE HASH

Supondo a seguinte sequência de cliente: c = <{1, 5}, {1}, {3}>

h(1) = 1; h(2) = 2; h(3) = 1; h(4) = 2; h(5) = 1

GSP - Cálculo do Suporte

Page 42: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

INCLUDE

<{2}, {3}>

<{2, 3}>

<{1}, {4}>

CONTANDO AS FREQUÊNCIAS A PARTIR DA ÁRVORE HASH

Supondo a seguinte sequência de cliente: c = <{1, 5}, {1}, {3}>

h(1) = 1; h(2) = 2; h(3) = 1; h(4) = 2; h(5) = 1

GSP - Cálculo do Suporte

Page 43: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

INCREMENTANDO O CONTADOR DOS NÓS FREQUENTES

Temos como entrada uma sequencia S (presente no Nó) e C (cliente)

S = <{2, 4}, {6, 7}>

C = <{1, 2}, {4, 6}, {3}, {1, 2}, {3}, {2, 4}, {6, 7}>

Em seguida, construímos a tabela de tempos:

GSP - Função INCLUDE

Itens Tempo

1 [1, 4]

2 [1, 4, 6]

3 [3, 5]

4 [2, 6]

5 [ ]

6 [2, 7]

7 [7]

Page 44: Relatório de Atividades - DECOM · Instituto de Ciências Exatas e Biológicas Departamento de Computação. Roteiro ... Agrupamento (Clustering) ... • M : Número de sequências

GSP - Função INCLUDE

Sendo C uma sequencia de cliente, e S uma

sequencia contida no nó, faça:

Gera lista de tempos para os itemsets de C.

Se C contém S, incrementa contador de frequencia

para S.

Retira da árvore as sequencias S que atendem

ao suporte mínimo.