6/7/2014 mestrado em ciencia da computacao - 2012 1 otimização da técnica apriori sandra de amo...

24
01/01/22 01/01/22 Mestrado em Ciencia da Computacao - Mestrado em Ciencia da Computacao - 2012 2012 1 Otimização da Técnica Apriori Sandra de Amo Sandra de Amo Data Mining Data Mining AULA 4 AULA 4

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 11

Otimização da Técnica Apriori

Sandra de AmoSandra de Amo

Data Mining Data Mining AULA 4AULA 4

Page 2: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 22

Maneiras de OtimizaManeiras de Otimizarr

OtimizaOtimizaçãção 1 :o 1 : rreduzireduzir numero de testes durante a fase de geracaonumero de testes durante a fase de geracao numero de testes durante a fase da podanumero de testes durante a fase da poda numero de testes durante a fase do calculo du suportenumero de testes durante a fase do calculo du suporte

OtimizaOtimizaçãção 2 :o 2 : r reduzireduzir o tamanho da base de dados o tamanho da base de dados

OtimizaOtimizaçãção 3o 3 : : rreduzireduzir o numero de varridas do BD o numero de varridas do BD OtimizaOtimizaçãção 4o 4 : : r reduzireduzir o numero de candidatos o numero de candidatos

geradosgerados

Page 3: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 33

OtimizaOtimizaçãçãoo 1 - 1 - Arvore HashArvore Hash

11

22

33

11

22

33

11

22

33

11

22

33

11

22

33

Tabelas Hash

Folhas : itemsets estocados

Page 4: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 44

Como estocar os candidatos na Como estocar os candidatos na áárvore hash ?rvore hash ?

Pao, Leite

Pao, Acucar

Pao, Manteiga

Leite, Acucar

Leite, Manteiga

Acucar, Manteiga

Pao, Leite

Pao, Acucar

Pao, Manteiga

Acucar, Manteiga

Leite, Acucar

Leite, Manteiga

h(i1) = 2h(i1) = 1

h(Pao) = h(Acucar) = 1

h(Manteiga) = h(Leite) = 2N = N. maximal de itemsets nas folhas = 3

Page 5: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 55

Como estocar os candidatos Como estocar os candidatos na na áárvore hash ?rvore hash ?

PaoPao, , LeiteLeite

PaoPao, , ManteigaManteiga

AcucarAcucar, , ManteigaManteiga

LeiteLeite, Acucar, Acucar

LeiteLeite, Manteiga, Manteiga

h(i1) = 2h(i1) = 1

PaoPao, , AcucarAcucar

h(i2) = 1 h(i2) = 2

h(Pao) = h(Acucar) = 1

h(Manteiga) = h(Leite) = 2N = N. maximal de itemsets nas folhas = 3

Pao, Leite

Pao, Acucar

Pao, Manteiga

Acucar, Manteiga

Page 6: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 66

GGeraçãoeração dos Candidatos dos Candidatos

1

< 1, 4, 8 >

< 3, 6, 8 >

< 1, 2, 4 >

2

1 2

1 2

1 2

2

< 1, 2, 5 >

< 2, 4, 7 >

< 6, 8, 10 >

< 2, 4, 6 >

x 2 2

< 6, 8, 9 >

1

2 2 y

< 3, 6, 8 > < 6, 8, 9 > x < 3, 6, 8, 9 >

< 3, 6, 8 >

< 1, 2, 4 >

< 6, 8, 10 >

< 2, 4, 6 >

x

x<3, 6, 8, 10 >

<1, 2, 4, 6>

Não são testados !

Page 7: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 77

Poda dos CandidatosPoda dos Candidatos

1

{ 1, 4, 8 }

{ 3, 6, 8 }

{ 1, 2, 4 }

2

1 2

1 2

1 2

2

{ 1, 2, 5 }

{ 2, 4, 7 }

{ 6, 8, 10 }

{ 2, 4, 6 }{ 6, 8, 9 }

1

{ 1, 2, 5, 6 }Candidato:

sub-itemset: { 1, 2, 5 }

{ 1, 2, 5 }

{ 2, 4, 7 }

{ 1, 2, 5 }{ 1, 2, 5 }{ 1, 2, 5 }{ 1, 2, 6 }{ 1, 2, 6 }{ 1, 2, 6 }{ 1, 2, 6 }

h(n) = 1 se n é impar

h(n) = 2 se n é par

Folhas : 3 itemsets no máximoNão são testados !

Page 8: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 88

CCáálculo do Suportelculo do Suporte

1

{ 1, 4, 8 } - 0

{ 3, 6, 8 } - 0

{ 1, 2, 6 } - 0

2

1 2

1 2

1 2

2

{ 1, 2, 5 } - 0

{ 2, 4, 7 } - 0

{ 6, 8, 10 } - 0

{ 2, 4, 6 } - 0{ 6, 8, 9 } - 0

1

{ 1, 2, 5, 6 }

Transação no BD

{ 1, 5, 9 } - 0 { 2, 5, 6 } - 0

{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }

{ 1, 2, 5 } - 1

{ 2, 4, 7 } - 0

{ 1, 2, 5 } - 1

{ 2, 4, 7 } - 0

{ 1, 4, 8 } - 0

{ 3, 6, 8 } - 0

{ 1, 2, 6 } - 1

{ 1, 4, 8 } - 0

{ 3, 6, 8 } - 0

{ 1, 2, 6 } - 1

{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }

{ 2, 5, 6 } - 1{ 2, 5, 6 } - 1

Não são testados !

Page 9: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 99

OtimizaOtimizaçãção 2o 2RReduçãoedução do tamanho do BD do tamanho do BD

ItIteraçãoeração k kt : transat : transaçãção do BD nao conto do BD nao contéém nenhum m nenhum candidato de tamanho kcandidato de tamanho k

ItIteraçãoeração k+1 k+1 t pode ser eliminada do BD t pode ser eliminada do BD t nao contert nao conteráá nenhum candidato de tamanho nenhum candidato de tamanho

k +1k +1

Page 10: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 1010

OtimizaOtimizaçãção 3o 3 R Reduçãoedução das varridas do BD das varridas do BD MMéétodo convencionaltodo convencional

N varridas na baseN varridas na base

N = NN = Núúmero de itmero de iteeraraçõções do algoritmoes do algoritmo

MMéétodo do Particionamentotodo do Particionamento [Savarese+ [Savarese+ 1995]1995]

O nO núúmero de varridas na la base mero de varridas na la base éé = = 22

Page 11: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 1111

MMéétodo do Particionamentotodo do Particionamento

Executa Apriori na memória principal

Encontra os itemsets localmente frequentes

Frequente local

Teste os itemsets localmente frequentes

GlobalmenteGlobalmente FrequenteFrequente

LocalmenteLocalmente Frequente em peloFrequente em pelomenos uma das partimenos uma das partiçõçõeses

BD

Page 12: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/2304/11/23 Mestrado em Ciencia da Computacao - 2012Mestrado em Ciencia da Computacao - 2012 1212

OtimizaOtimizaçãção 4o 4 R Reduçãoedução do N do Núúmero de mero de

Candidatos GCandidatos Geradoserados

RestriRestriçõções sobre os padres sobre os padrõões : regras devem es : regras devem satisfazer uma expresssatisfazer uma expressãão booleana dada o booleana dada

Itemsets: restriItemsets: restriçãção de items (Agrawal-Srikant o de items (Agrawal-Srikant 1997)1997)

(P(Pãão o ANDAND Leite) Leite) OROR (A (Aççucar ucar ANDAND Caf Caféé ANDAND ¬¬ Sal)Sal)

Page 13: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

04/11/23Mestrado em Ciencia da Computacao -

2012 13

Constraint MiningAlgoritmo DIRECT

Page 14: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 1404/11/23

Restrição de Itens

Uma fórmula proposicional em Forma Normal Disjuntiva

B = D1 OR D2 OR …. OR Dn

Di = p1 AND p2 AND … AND pm pj = item pj = ¬ item

Exemplo: B = (Pão AND Manteiga) OR (Café AND ¬ Sal)

Itemset I = (Café, Açúcar, Trigo) satisfaz a fórmula B

Page 15: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 1504/11/23

Problema de Mineração

Dados Banco de dados de transações Uma restrição de itens B B = D1 AND D2 AND …. AND Dn

Minerar todos os itemsets frequentes e que satisfazem a restrição B

A fórmula B serve como um molde para guiar o processo de mineração

Page 16: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 1604/11/23

Algoritmo DIRECT

Fase da Geração Ideia Principal do algoritmo

Se um itemset I de tamanho k+1 satisfaz B então uma das duas condições se verifica: Todos os Di verificados por I tem exatamente k+1

elementos positivos Existe ao menos um k-subitemset de I que satisfaz B

Page 17: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 1704/11/23

Prova da propriedade Seja I = {a1,….,ak,ak+1} que satisfaz B

Se existe um Di satisfeito por I, com m <= k elementos positivos:

Di = a1 AND a2 AND …. am AND ¬ B1 AND ¬ B2 AND … ¬ Bp

I = {a1,…,am,am+1,…,ak,ak+1}

Não aparecem entre os negativos de Di

Logo qualquer subitemset de I contendo a1,…,am satisfaz Di

Page 18: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 1804/11/23

Fase da Geração de DIRECT

Itemset de tamanho k+1 frequente que satisfaz B

1a possibilidade : A1,…,Ak, Ak+1

Satisfaz BÉ frequente

Deve ser frequente

Logo um bom conjunto de CANDIDATOS DE TAMANHO k+1 = Cb

K+1 = Fbk x F

onde F = conjunto de items frequentes Fb

k = k-itemsets frequentes e que satisfazem B

Page 19: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 1904/11/23

Fase da Geração

Gera Cbk+1

Elimina-se de Cbk+1 todos os itemsets que

não satisfazem B

Page 20: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 2004/11/23

Fase da Poda

Dispomos do conjunto Fbk da fase anterior =

Frequentes e que satisfazem B

Se um itemset I= (a1,…,ak,ak+1) contiver um subitemset J de tamanho k que satisfaz B e que não esteja em Fb

k

então com certeza J não será frequente, portanto I poderá ser podado.

Page 21: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 2104/11/23

Fase da Geração- complemento 2a Possibilidade de se obter candidatos de tamanho

k+1 potencialmente frequentes e satisfazendo B.

Adicionar todos os k+1-itemsets correspondendo aos Di com exatamente k+1 items positivos e frequentes.

Page 22: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 2204/11/23

Resumo da etapa k+1 do algoritmoFase da Geração e Poda

1. Fbk x F

2. Elimina os itemsets que não satisfazem B3. Poda os que possuem k-subitemsets que satisfazem B e que não estão em Fb

k

4. Junta-se os obtidos dos Di com k+1 elementos positivos e frequentes

Fase do Cálculo do Suporte 5. Varre banco de dados e calcula suporte dos candidatos restantes.

Page 23: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Mestrado em Ciencia da Computacao - 2012 2304/11/23

Exercicio

Gerar Cb2 sabendo que :

O conjunto dos items frequentes =

{1, 2, 3, 4, 5}

B = (1 AND 2) OR (4 AND ¬5)

Page 24: 6/7/2014 Mestrado em Ciencia da Computacao - 2012 1 Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4

Fb1 = {4}

1. Cb2 = { {1,4}, {2,4}, {3,4}, {4,5}}

2. Elimina os que não satisfazem B

Cb2 = { {1,4}, {2,4}, {3,4}}

3. Poda os que possuem 1-subitemset que satisfaz B e que não está em Fb

1 : único 1-subitemset que satisfaz B é {4}

4. Junta os Di com exatamente 2 elementos positivos e frequentes.

Cb2 = { {1,4}, {2,4}, {3,4}, {1,2} }

Mestrado em Ciencia da Computacao - 2012 2404/11/23