Вы находитесь на странице: 1из 9

Minerao de Dados

Tcnicas de Associao
Apresentao adaptada do material do livro:
Introduction to Data Mining Tan, Steinbach e Kumar
prof. Luis Otavio Alvares
Exemplo: vendas casadas
Sei que quem compra A tambm compra B.
PRODUTO A
PRODUTO A
PRODUTO B
Oferta de
produto relacionado
Compra de
produto
80,45% das herniorrafias inguinais (unilateral)
mltiplas so realizadas em pessoas do sexo
masculino. Estudando mais profundamente foi
verificado que este procedimento estava concentrado
em crianas de 0 a 4 anos, caracterizando um erro
de nomenclatura nos procedimentos, pois nesta
idade um procedimento de urologia muito comum
de nomenclatura nos procedimentos, pois nesta
idade um procedimento de urologia muito comum
o tratamento da hidrocele comunicante muito
parecido com a herniorrafia inguinal. Foram tomadas
medidas para que tal procedimento fosse registrado
de forma correta pelos hospitais, pois a herniorrafia
inguinal pode levar a uma internao de urgncia ou
emergncia, aumentado seu custo, j o tratamento
da hidrocele comunicante um procedimento
eletivo.
Minerao de regras de associao
Dado um conjunto de transaes, encontre regras para a
predio da ocorrncia de itens baseado na ocorrncia
de outros itens na transao
transaes
Exemplos de regras de associao
TID Items
1 po, leite
2 po, fralda, cerveja, ovos
3 leite, fraldas, cerveja, coca
4 po, leite, fraldas, cerveja
5 po, leite, fraldas, coca
{fraldas} {cerveja},
{leite, po} {ovos,coca},
{cerveja, po} {leite},
Implicao significa co-ocorrncia, e no
casualidade!
Definies: conjuntos de itens freqentes (frequent itemsets)
Itemset
Um conjunto de um ou mais items
Example: {Milk, Bread, Diaper}
k-itemset
Um itemset com k itens
Suporte ( )
Freqncia de ocorrncia de um
conjunto de itens (itemset)
TID Items
1 Bread, Milk
2 Bread, Diaper, Beer, Eggs
3 Milk, Diaper, Beer, Coke
conjunto de itens (itemset)
Ex: ({Milk, Bread,Diaper}) = 2
Suporte (s)
Frao das transaes que contm
um itemset
Ex: s({Milk, Bread, Diaper}) = 2/5
Conjunto de itens freqentes
Um itemset cujo suporte maior ou
igual a um dado limite minsup
4 Bread, Milk, Diaper, Beer
5 Bread, Milk, Diaper, Coke

Definio: regra de associao
Regras de associao
Uma expresso da forma X Y, onde X e
Y so conjuntos de itens
Exemplo:
{Milk, Diaper} {Beer}
Mtricas de avaliao das regras
TID Items
1 Bread, Milk
2 Bread, Diaper, Beer, Eggs
3 Milk, Diaper, Beer, Coke
4 Bread, Milk, Diaper, Beer
5 Bread, Milk, Diaper, Coke

Exemplo:
Beer } Diaper , Milk {
4 . 0
5
2
| T |
) Beer Diaper, , Milk (
= = =

s
67 . 0
3
2
) Diaper , Milk (
) Beer Diaper, Milk, (
= = =

c
Suporte (s)
Frao das transaes que contm
X e Y
Confiana (c)
Mede a freqncia com que Y
aparece nas transaes que
contm X
Regras de associao
Regras de associao ou regras associativas tm a forma
X Y
onde X e Y so conjuntos de itens que ocorrem juntos em uma
transao e X Y =
significando que se encontrarmos o conjunto de itens X em
uma transao, ento temos uma boa chance de encontrar
tambm o conjunto de itens Y na mesma transao.
Minerao de regras de associao
Dado um conjunto de transaes T, o objetivo da
minerao de regras de associao encontrar todas
as regras com
suporte minsup
confiana minconf
Abordagem da fora bruta:
liste todas as possveis regras de associao
calcule o suporte e a confiana para cada regra
corte as regras que no satisfazem minsup ou
minconf
Computacionalmente proibitivo!
Minerando regras de associao
Exemplos de regras:
{leite,fralda} {cerveja} (s=0.4, c=0.67)
{leite,cerveja} {fralda} (s=0.4, c=1.0)
{fralda,cerveja} {leite} (s=0.4, c=0.67)
{cerveja} {leite,fralda} (s=0.4, c=0.67)
{fralda} {leite,cerveja} (s=0.4, c=0.5)
{leite} {fralda,cerveja} (s=0.4, c=0.5)
TID Items
1 po, leite
2 po, fralda, cerveja, ovos
3 leite, fralda, cerveja, coca
4 po, leite, fralda, cerveja
5 po, leite, fralda, coca
{leite} {fralda,cerveja} (s=0.4, c=0.5)
Observaes:
Todas as regras acima so parties binrias do mesmo itemset:
{leite, fralda, cerveja}
Regras originadas do mesmo itemset tm o mesmo suporte mas
podem ter confianas diferentes
Ento, podemos separar o suporte da confiana
Minerao de regras de associao
Abordagem em dois passos:
Gerao dos items freqentes
gerar todos os itemsets com suporte minsup
Gerao das regras
gerar regras de alta confiana para cada itemset, onde cada gerar regras de alta confiana para cada itemset, onde cada
regra um partio binria de um itemset freqente
A gerao dos conjuntos de items freqentes ainda
computacionalmente custosa
Gerao dos conjuntos de items freqentes
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCDE
Dado d items, h 2
d
possveis itemsets
freqentes
Gerao de itemsets freqentes
Abordagem de fora bruta:
Cada itemset no reticulado (lattice) um conjunto
freqente candidato
Calcule o suporte de cada candidato lendo o conjunto de
dados
TID Items
Transactions
TID Items
candidatos
transaes
Complexidade ~ O(NMw) => Custoso pois M = 2
d
!!!
TID Items
1 Bread, Milk
2 Bread, Diaper, Beer, Eggs
3 Milk, Diaper, Beer, Coke
4 Bread, Milk, Diaper, Beer
5 Bread, Milk, Diaper, Coke

1 po, leite
2 po, fralda, cerveja, ovos
3 leite, fralda, cerveja, coca
4 po, leite, fralda, cerveja
5 po, leite, fralda, coca
Complexidade
Dado d items:
nmero total de itemsets = 2
d
nmero total possvel de regras de associao:
1
1 1
(

\
|

|

\
|
=

=

=

d
k
k d
j
j
k d
k
d
R
1 2 3
1
+ =
\ \
+ d d
j k
se d=6, R = 602 regras
Estratgias para a gerao de itemsets freqentes
Reduzir o nmero de candidatos (M)
Busca completa: M=2
d
Usar tcnicas de poda para reduzir M
Reduzir o nmero de transaes (N)
Reduzir o tamanho de N quando o nmero de
itemsets aumenta itemsets aumenta
Usado pelo DHP e algoritmos baseados em
minerao vertical
Reduzir o nmero de comparaes (NM)
Usar estruturas de dados eficientes para armazenar
os candidatos ou as transaes
Sem necessidade de comparar cada candidato com
cada transao
Reduzindo o nmero de candidatos
Princpio do algoritmo Apriori :
Se um itemset freqente ento todos os seus
subconjuntos tambm so freqentes
Este princpio devido a seguinte propriedade do
suporte: suporte:
O suporte de um itemset nunca maior que o suporte
de seus subconjuntos
Isto conhecido como a propriedade anti-monotnica
do suporte
) ( ) ( ) ( : , Y s X s Y X Y X
No freqente
Ilustrando o princpio do Apriori
No freqente
Conjuntos
cortados
Ilustrando o princpio do Apriori
Item Count
Bread 4
Coke 2
Milk 4
Beer 3
Diaper 4
Eggs 1
Itemset Count
{Bread,Milk} 3
{Bread,Beer} 2
{Bread,Diaper} 3
{Milk,Beer} 2
{Milk,Diaper} 3
Items (1-itemsets)
Pairs (2-itemsets)
(No h necessidade de
Gerar candidatos com Coke
ou Eggs)
{Milk,Diaper} 3
{Beer,Diaper} 3
I t e m s e t C o u n t
{ B r e a d , M i l k , D i a p e r } 3

ou Eggs)
Triplets (3-itemsets)
Suporte mnimo= 3
Se todos os conjuntos so considerados,
6
C
1
+
6
C
2
+
6
C
3
= 41
Com corte o baseado no suporte,
6 + 6 + 1 = 13
O algoritmo Apriori
Mtodo:
seja k=1
Obtenha conjuntos freqentes de tamanho 1
Repita enquanto novos itemsets freqentes forem
obtidos obtidos
Obtenha itemsets candidatos de tamanho (k+1) a partir de
itemsets de tamanho k
Elimine itemsets candidatos contendo subconjuntos de
tamanho k infreqentes
Conte o suporte de cada candidato varrendo o BD
Elimine candidatos no freqentes, deixando s os
freqentes
(1) Dado um limiar de suporte minsup, no primeiro passo encontre os itens que
aparecem ao menos numa frao das transaes igual a minsup. Este
conjunto chamado L
1
, dos itens freqentes.
(2) Os pares dos itens em L
1
se tornam pares candidatos C
2
para o segundo
passo. Os pares em C
2
cuja contagem alcanar minsup so os pares
freqentes L
2
.
(3) As trincas candidatas C
3
so aqueles conjuntos {A, B, C} tais que todos os
{A, B}, {A, C} e {B, C} esto em L
2
. No terceiro passo, conte a ocorrncia
das trincas em C ; aquelas cuja contagem alcanar minsup so as trincas
Algoritmo Apriori
das trincas em C
3
; aquelas cuja contagem alcanar minsup so as trincas
freqentes, L
3
.
(4) Proceda da mesma forma para tuplas de ordem mais elevada, at os
conjuntos se tornarem vazios. L
i
so os conjuntos freqentes de tamanho i;
C
i+1
o conjunto de tamanho i+1 tal que cada subconjunto de tamanho i est
em L
i
.
Dada a tabela abaixo onde cada registro corresponde a uma transao de um cliente, com
itens assumindo valores binrios (sim/no), indicando se o cliente comprou ou no o
respectivo item, descobrir todas as regras associativas, determinando o seu suporte (sup) e
grau de certeza (conf).
Exemplo de descoberta de regras de associao
TID leite caf cerveja po manteiga arroz feijo
1 no sim no sim sim no no
2 sim no sim sim sim no no 2 sim no sim sim sim no no
3 no sim no sim sim no no
4 sim sim no sim sim no no
5 no no sim no no no no
6 no no no no sim no no
7 no no no sim no no no
8 no no no no no no sim
9 no no no no no sim sim
10 no no no no no sim no
(1) Calcular o suporte de conjuntos com um item.
Determinar os itens freqentes com sup 0,3.
(2) Calcular o suporte de conjuntos com dois itens.
Dada uma regra de associao Se compra X ento compra Y, os fatores sup e conf so:
sup =
Nmero de registros com X e Y
Nmero total de registros
conf =
Nmero de registros com X e Y
Nmero de registros com X
(2) Calcular o suporte de conjuntos com dois itens.
Determinar conjuntos de itens freqentes com sup 0,3.
Obs: se um item no freqente em (1), pode ser ignorado aqui.
Descobrir as regras com alto fator de certeza.
(3) Calcular o suporte de conjuntos com trs itens.
Determinar conjuntos de itens freqentes com sup 0,3.
Obs: pelo mesmo motivo anterior, s necessrio se considerar conjuntos de itens que so
freqentes pelo passo anterior.
Descobrir regras com alto fator de certeza.
Conjunto de itens suporte
{leite} 2
{caf} 3
{cerveja} 2
{po} 5
{manteiga} 5
{arroz} 2
{feijo} 2
C
1
{feijo} 2
Conjunto de itens suporte
{caf} 3
{po} 5
{manteiga} 5
L
1
C
2
, L
2
Conjunto de itens suporte
{caf, po} 3
{caf, manteiga} 3
{po, manteiga} 4
C
3
, L
3
Conjunto de itens suporte
{caf, po, manteiga} 3
Regras candidatas com dois itens com o seu valor de certeza:
Conjunto de itens: {caf, po}
Se caf Ento po conf = 1,0
Se po Ento caf conf = 0,6
Conjunto de itens: {caf, manteiga}
Se caf Ento manteiga conf = 1,0
Se manteiga Ento caf conf = 0,6
Conjunto de itens: {po, manteiga} Conjunto de itens: {po, manteiga}
Se po Ento manteiga conf = 0,8
Se manteiga Ento po conf = 0,8
Regras candidatas com trs itens com o seu valor de certeza:
Conjunto de itens: {caf, manteiga, po}
Se caf, manteiga Ento po conf = 1,0
Se caf, po Ento manteiga conf = 1,0
Se manteiga, po Ento caf conf = 0,75
Se caf Ento manteiga, po conf = 1,0
Se manteiga Ento caf, po conf = 0,6
Se po Ento caf, manteiga conf = 0,6
Padres descobertos, minsup = 0,3 e minconf = 0,8: Padres descobertos, minsup = 0,3 e minconf = 0,8:
Se caf Ento po conf = 1,0
Se caf Ento manteiga conf = 1,0
Se po Ento manteiga conf = 0,8
Se manteiga Ento po conf = 0,8
Se caf, manteiga Ento po conf = 1,0
Se caf, po Ento manteiga conf = 1,0
Se caf Ento manteiga, po conf = 1,0
Problema: nmero de regras geradas
Considerando 4 itens: A, B, C e D, sem considerar suporte e
confiana podemos ter:
Problema: nmero de regras geradas
Sets Possible Rules umber
of Rules
{AB} AB; BA 2
{AC} AC; CA 2
{AD} AD; DA 2
Considerando 4 itens: A, B, C e D, sem considerar suporte e confiana
podemos ter:
{AD} AD; DA 2
{BC} BC; CB 2
{BD} BD; DB 2
{CD} CD; DC 2
{ABC} ABC; BAC; CAB; BCA; ACB; ABC 6
{ABD} ABD; BAD; DAB; BDA; ADB; ABD 6
{ACD} ADC; DAC; CAD; DCA; ACD; ADC 6
DBC; BDC; CDB; BCD; DCB; DBC {BCD}
{ABCD} ABCD; BACD; CABD; DABC; ABCD; ACBD; ADBC;
BCAD; BDAC; CDAB; BCDA; ACDB; ABDC; ABCD;
6
14
Suporte e confiana so usados como filtros, para
diminuir o nmero de regras geradas, gerando
apenas regras de melhor qualidade
mas, se considerarmos a regra
Se A ento B com confiana de 90%
podemos garantir que seja uma regra interessante?
LIFT
a regra (1) Se A ento B com confiana de 90%
NO interessante se B aparece em cerca de 90% das
transaes, pois a regra no acrescentou nada em termos de
conhecimento.
j a regra (2): Se C ento D com confiana de 70% e muito
mais importante se D aparece, digamos, em 10% das transaes.
lift = confiana da regra / suporte do conseqente
lift da regra (1) = 0,9 / 0,9 = 1
lift da regra (2) = 0,7 / 0,1 = 7
Tid Itemset
1
A, C, D,T, W
2 C, D, W
3 A, D, T, W
4 A, C, D, W
5 A, C, D, T, W
6 C, D, T
AW s=4/6 c=4/4
AD,W s=4/6 c=4/4
Regras Redundantes
Conjuntos Fechados (Closed Itemsets)
Um conjunto de itens (itemset) fechado se nenhum de
seus superconjuntos imediatos tem o mesmo suporte
que ele
TID Items
1 {A,B}
2 {B,C,D}
Itemset Support
{A} 4
{B} 5
{C} 3
Itemset Support
{A,B,C} 2
{A,B,D} 3
{A,C,D} 2
{B,C,D} 3
{A,B,C,D} 2 2 {B,C,D}
3 {A,B,C,D}
4 {A,B,D}
5 {A,B,C,D}
{C} 3
{D} 4
{A,B} 4
{A,C} 2
{A,D} 3
{B,C} 3
{B,D} 4
{C,D} 3
{A,B,C,D} 2
Conjuntos Freqentes
TID Items
1 ABC
2 ABCD
3 BCE
4 ACDE
5 DE
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
124 123 1234 245 345
12 124 24
4
123
2
3 24
34 45
Transaction Ids
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCDE
12 2 24 4 4 2
3 4
2
4
Not supported by
any transactions
Conjuntos fechados (para minsup=2)
TID Items
1 ABC
2 ABCD
3 BCE
4 ACDE
5 DE
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
124 123 1234 245 345
12 124 24
4
123
2
3 24
34 45
Transaction Ids
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCDE
12 2 24 4 4 2
3 4
2
4
Bibliografia
TAN, P-N,; STEINBACH, M; KUMAR, V. Introduction to Data Mining, Boston, Addison
Wesley, 2006
`AGRAWAL, R.; IMIELINSKI, T.; SWAMI, A. Mining association rules between sets of items
in large databases. In: ACM SIGMOD INTERNATIONAL CONFERENCE ON
MANAGEMENT OF DATA, SIGMOD, 1993, Washington, D.C. Proceedings New York:
ACM Press, 1993. p. 207-216.
AGRAWAL, R.; SRIKANT, R. Fast Algorithms for Mining Association Rules in Large AGRAWAL, R.; SRIKANT, R. Fast Algorithms for Mining Association Rules in Large
Databases. In: INTERNATIONAL CONFERENCE ON VERY LARGE DATABASES, VLDB,
20., 1994, San Francisco. ProceedingsCalifornia: Morgan Kaufmann, 1994. p.487 499.
ZAKI. M. Generating Non-redundant Association Rules. In: ACM SIGKDD
INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING,
KDD, 6., 2000, Boston. Proceedings[S.l.]: ACM, 2000. p.34-43.
ZAKI., M.; HSIAO, C. CHARM: An Efficient Algorithm for Closed Itemset Mining. In:
INTERNATIONAL CONFERENCE ON DATA MINING, SIAM, 2., 2002, Arlington.
Proceedings[S.l.]:SIAM, 2002.
HAN, J., PEI, J., and YIN, Y. Mining frequent patterns without candidate generation. In:
ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA,
SIGMOD, 2000, Dallas. P.1-12.

Вам также может понравиться