Otimização da Técnica
Apriori
Sandra de Amo
Data Mining
AULA 4
11/5/2015
Mestrado em Ciencia da Computacao - 2012
1
Maneiras de Otimizar
 Otimização 1 : reduzir



numero de testes durante a fase de geracao
numero de testes durante a fase da poda
numero de testes durante a fase do calculo du suporte
 Otimização 2 : reduzir o tamanho da base de dados
 Otimização 3 : reduzir o numero de varridas do BD
 Otimização 4 : reduzir o numero de candidatos
gerados
11/5/2015
Mestrado em Ciencia da Computacao - 2012
2
Otimização 1 Arvore Hash
1
Tabelas Hash
2
3
1
1
1
2
2
2
3
3
3
1
2
Folhas : itemsets estocados
3
11/5/2015
Mestrado em Ciencia da Computacao - 2012
3
Como estocar os candidatos na
árvore hash ?
h(i1) = 1
Pao, Leite
Pao, Acucar
Pao, Manteiga
Leite, Acucar
Leite, Manteiga
Acucar, Manteiga
h(Pao) = h(Acucar) = 1
Pao, Leite
Pao, Acucar
Pao, Manteiga
Acucar, Manteiga
h(i1) = 2
Leite, Acucar
Leite, Manteiga
N = N. maximal de itemsets nas folhas = 3
h(Manteiga) = h(Leite) = 2
11/5/2015
Mestrado em Ciencia da Computacao - 2012
4
Como estocar os candidatos
na árvore hash ?
Pao, Leite
Pao, Acucar
Pao, Manteiga
Acucar, Manteiga
h(i1) = 1
h(i1) = 2
h(i2) = 2
h(i2) = 1
Leite, Acucar
Leite, Manteiga
Pao, Acucar
h(Pao) = h(Acucar) = 1
h(Manteiga) = h(Leite) = 2
11/5/2015
Pao, Leite
Pao, Manteiga
Acucar, Manteiga
N = N. maximal de itemsets nas folhas = 3
Mestrado em Ciencia da Computacao - 2012
5
Geração dos Candidatos
1
1
x 2 2
2 2 y
2
2
1
2
< 3, 6, 8 > x
1
< 1, 2, 5 >
< 2, 4, 7 >
2
< 1, 4, 8 >
< 3, 6, 8 >
< 1, 2, 4 >
< 6, 8, 9 >
< 3, 6, 8, 9 >
2
1
< 6, 8, 9 >
< 6, 8, 10 >
< 2, 4, 6 >
< 3, 6, 8 > x
< 1, 2, 4 > x
< 6, 8, 10 >
< 2, 4, 6 >
<3, 6, 8, 10 >
<1, 2, 4, 6>
Não são testados !
11/5/2015
Mestrado em Ciencia da Computacao - 2012
6
Poda dos Candidatos
Candidato: { 1, 2, 5, 6 }
sub-itemset:
1
2, 656 }}
{ 1, 2,
1
h(n) = 1 se n é impar
2
2
1
1
2
2
1
2
h(n) = 2 se n é par
{ 1, 2, 5 }}
{ 2, 4, 7 }
{ 1, 4, 8 }
{ 3, 6, 8 }
{ 1, 2, 4 }
{ 6, 8, 9 }
{ 6, 8, 10 }
{ 2, 4, 6 }
Folhas : 3 itemsets no máximo
Não são testados !
11/5/2015
Mestrado em Ciencia da Computacao - 2012
7
Cálculo do Suporte
Transação no BD
{ 1, 2, 5, 6 }
2
1
1
2
1
{ 1, 5, 9 } - 0
{ 1, 2, 5 } - 10
{ 2, 4, 7 } - 0
1
2
1
2
2
{ 2, 5, 6 } - 10
{ 1, 4, 8 } - 0
{ 3, 6, 8 } - 0
{ 1, 2, 6 } - 10
{ 6, 8, 9 } - 0
{ 6, 8, 10 } - 0
{ 2, 4, 6 } - 0
Não são testados !
11/5/2015
Mestrado em Ciencia da Computacao - 2012
8
Otimização 2
Redução do tamanho do BD
Iteração k
t : transação do BD nao contém nenhum
candidato de tamanho k
Iteração k+1
t pode ser eliminada do BD
t nao conterá nenhum candidato de tamanho
k +1
11/5/2015
Mestrado em Ciencia da Computacao - 2012
9
Otimização 3
Redução das varridas do BD
 Método convencional
N varridas na base
N = Número de iterações do algoritmo
 Método do Particionamento [Savarese+
1995]
O número de varridas na la base é = 2
11/5/2015
Mestrado em Ciencia da Computacao - 2012
10
Método do Particionamento
Executa Apriori na
memória principal
Encontra os itemsets localmente
frequentes
Globalmente Frequente
Localmente Frequente em pelo
menos uma das partições
BD
11/5/2015
Teste os itemsets localmente frequentes
Mestrado em Ciencia da Computacao - 2012
11
Otimização 4
Redução do Número de
Candidatos Gerados
 Restrições sobre os padrões : regras devem
satisfazer uma expressão booleana dada
 Itemsets: restrição de items (Agrawal-Srikant
1997)
(Pão AND Leite) OR (Açucar AND Café AND ¬ Sal)
11/5/2015
Mestrado em Ciencia da Computacao - 2012
12
Constraint Mining
Algoritmo DIRECT
11/5/2015
Mestrado em Ciencia da Computacao 2012
13
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
11/5/2015
Mestrado em Ciencia da Computacao 2012
14
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
11/5/2015
Mestrado em Ciencia da Computacao 2012
15
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:


11/5/2015
Todos os Di verificados por I tem exatamente k+1
elementos positivos
Existe ao menos um k-subitemset de I que satisfaz B
Mestrado em Ciencia da Computacao 2012
16
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
11/5/2015
Mestrado em Ciencia da Computacao 2012
17
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 =
CbK+1 = Fbk x F
onde F = conjunto de items frequentes
Fbk = k-itemsets frequentes e que satisfazem B
11/5/2015
Mestrado em Ciencia da Computacao 2012
18
Fase da Geração

Gera Cbk+1

Elimina-se de Cbk+1 todos os itemsets que
não satisfazem B
11/5/2015
Mestrado em Ciencia da Computacao 2012
19
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 Fbk
então com certeza J não será frequente, portanto I
poderá ser podado.
11/5/2015
Mestrado em Ciencia da Computacao 2012
20
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.
11/5/2015
Mestrado em Ciencia da Computacao 2012
21
Resumo da etapa k+1 do algoritmo
Fase da Geração e Poda
1. Fbk x F
2. Elimina os itemsets que não satisfazem B
3. Poda os que possuem k-subitemsets que satisfazem B e
que não estão em Fbk
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.
11/5/2015
Mestrado em Ciencia da Computacao 2012
22
Exercicio
Gerar Cb2 sabendo que :


O conjunto dos items frequentes =
{1, 2, 3, 4, 5}
B = (1 AND 2) OR (4 AND ¬5)
11/5/2015
Mestrado em Ciencia da Computacao 2012
23
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 Fb1 : ú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} }
11/5/2015
Mestrado em Ciencia da Computacao 2012
24
Download

Diapositive 1 - Sandra de Amo