Upload
internet
View
104
Download
1
Embed Size (px)
Citation preview
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
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
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
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
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
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 !
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 !
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 !
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
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
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
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)
04/11/23Mestrado em Ciencia da Computacao -
2012 13
Constraint MiningAlgoritmo DIRECT
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
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
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
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
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
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
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.
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.
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.
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)
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