You are on page 1of 94

MAP-i 2007/2008

1
Regras de Associao

Paulo J Azevedo

DI - Universidade do Minho
2007-2008
Deteco de associaes nos dados


MAP-i 2007/2008
2
Sumrio
Motivao
Introduo s regras de associao
Algoritmos para clculo de termos frequentes
Apriori e outras variantes Breath-first
Representaes Verticais
Algoritmos Depth-first com representaes verticais
Representaes condensadas de termos frequentes
Medidas de interesse
Filtragem de termos no correlacionados
Seleco e pruning de regras
Atributos contnuos em regras de associao
Estudo de propriedades numricas com regras de
associao
Modelos de previso com regras de associao


MAP-i 2007/2008
3
Problema
Base de Dados de
Ticket Data
Ex:
1 1901,1881,199,901
2 901,1661
3 676,199,177,100
..

120099 78,1881,199,8
O marketing da cadeia de Hipermercados
pretende fazer um estudo de
comportamento de compras.

Tem acesso aos dados representativos dos
cestos de compras (basket data)

Exemplo de perguntas a responder:
Que produtos esto associadas ao consumo
de cerveja X ?
Como podemos descrever a populao
consumidora de amendoins?
Onde devem estar localizadas os produtos
de limpeza domstica ?
Como se relacionam os produtos 1661 e
199 ?

Nmero da
transaco
ite
m


MAP-i 2007/2008
4
Como expressar a informao extrada ?
Regras que relacionam produtos (items),

901 & 1661 67


Todas as regras ?

Como obter ?

Como seleccionar ?

Como organizar ?
H um nmero explosivo de
potenciais regras que podem ser
derivadas!
Qual o procedimento
eficiente a aplicar?
Como discriminar
regras boas de ms
?
Qualidade das regras
expressa por medidas
estatsticas.


MAP-i 2007/2008
5
A C B D
AD AC AB BC BD
ABCD
ABD ACD ABC
CD
Set indica
incluso
matemtica
Itemset
Item
BCD
Podemos ver o problema pela perspectiva do
espao de pesquisa a explorar


MAP-i 2007/2008
6
Medidas de Interesse
Tipicamente recorre-se a uma mtrica de incidncia para definir quais as
associaes significantes.
A mais popular o suporte (contagem) dos itemsets.
As regras so qualificadas por uma mtrica de interesse (previsibilidade,
solidez ou fora da regra).
Normalmente usada a confiana (probabilidade condicional)
Assim, a regra de associao:





Deve ser lida como: a compra conjunta dos produtos 901, 707 e 1088 ocorre em
30% das transaces. Por outro lado, verifica-se que 90% das transaces que
contm 901 e 707 tambm contm o produto 1088.

Outra leitura: 90% da sub-populao definida pelos produtos 901 e 707 consomem
1088.

Ou ainda: a contagem do consumo de 901 e 707, quando se adiciona 1088, desce
para 90% da inicial.
901 & 707 1088 (sup=0.3,conf=0.9)


MAP-i 2007/2008
7
Aplicaes
Sistemas de recomendao,
Web Adaptativo
Amazon: o site recomenda novos interesses usando
os items visitados/comprados pelo utilizador.
Challange Netflix: http://www.netflixprize.com
Descriptive Data Mining (Clusters de residuos
em Proteinas),
Spam Filtering,
Classificao,
etc,




MAP-i 2007/2008
8
Application: Recommendations using AR
index.html
A
B
C D
E
A D Obs.:
Rules:
A E D
A D F
A B D F
A D
D X
(conf: 0,8)
(conf: 0,7)
(conf: 0,6)
(conf: 0,5)
(conf: 0,4)
Recommendations (top 2):
F
X
(0,6)
(0,4)
click stream


MAP-i 2007/2008
9
TTR Hydrophobic Clusters detection
0 2 4 6 8
0
25
50
75
100
%

S
A
S
A
Leu 12
A
Sup = 0.34821 Conf = 1.00000
LEU_12=[00.00 : 25.00[ <--
PHE_64=[00.00 : 25.00[ &
MET_13=[00.00 : 25.00[ &
ALA_97=[00.00 : 25.00[
0 2 4 6 8
0
25
50
75
100
%

S
A
S
A
Met 13
0 2 4 6 8
0
5
10
15
20
25
D
i
s
t
a
n
c
e

(

)
L12 - M13
0 2 4 6 8
0
25
50
75
100
%

S
A
S
A
Phe 64
0 2 4 6 8
0
5
10
15
20
25
D
i
s
t
a
n
c
e

(

)
L12 - F64
0 2 4 6 8
0
25
50
75
100
%

S
A
S
A
Time (ns)
Ala 97
0 2 4 6 8
0
5
10
15
20
25
D
i
s
t
a
n
c
e

(

)
Time (ns)
L12 - A97
Sup=0.34821 conf=1.0000
LEU_12=[00.00 : 25.00[
PHE_64=[00.00 : 25.00[ & MET_13=[00.00 : 25.00[ & ALA_97=[00.00 : 25.00[


MAP-i 2007/2008
10
Gerao de Regras
Clculo da confiana: conf(AC) = s(A C) / s(A).

Noo de thresholds de conf e sup (minsup e minconf)

Algoritmo trivial:
Tendo ABC,
testar, sabendo s(AB) e s(ABC),
se s(ABC) / s(AB) minconf
Fazer este procedimento para todos os
s{ABC} em que #s > 1.


MAP-i 2007/2008
11
Clculo de Termos Frequentes
(frequent itemsets)
Algoritmo naif:
Seja K = { items em DB},
Derivar o P(K) (power_set),
Percorrer DB para contar as ocorrncias de P(K)
Filtrar os itemset em P(K) que no verificam minsup.

Intractvel!!!!!!!!
Melhor: fazer uso da propriedade downward closure
do suporte
Se X Y ento s(X) s(Y)



MAP-i 2007/2008
12
Algoritmo Apriori [Agrawal & Srikant 94]
L_1 = { 1-items frequentes}
For(k=2;L_k-1 {}; k++) do
C_{k} = apriori_gen(L_{k-1});
forall transaces t D do
C_{t} = subsets(C_{k},t)
Forall candidatos c C_{t} do
C.count++;
End
L_{k} = {c C_{k} | c.count minsup}
End
Answer= L_{k};
Algoritmo Bottom-up e breath-first. Em apriori_gen gerado os
candidatos a contar. S so considerados candidatos que
obedecem propriedade anti-montona
( candidato se todos os seus subconjuntos so frequentes!)


MAP-i 2007/2008
13
A C B D
AD AC AB BC BD
ABCD
ABD ACD ABC
CD
Infrequente
BCD
Aplicao da Propriedade Anti-montona


MAP-i 2007/2008
14
Apriori in action


MAP-i 2007/2008
15
Tipos de Algoritmos para Clculo
de termos frequentes (FIM)
Breath-First

Apriori

Partition

Dic

Sampling
Depth-First

FP-growth

Inverted Matrix

Eclat

Depth-first expansion (CAREN)




MAP-i 2007/2008
16
Algoritmo Partition
Verso paralela do Apriori. Definir vrias parties no dataset onde
aplicamos localmente o Apriori.
A soma dos itemsets frequentes ocorridos em cada partio um
superconjunto dos termos frequentes no dataset. Segunda passagem no
dataset para contar os candidatos encontrados nas parties.


MAP-i 2007/2008
17
Algoritmo Partition(2)
Filtragem de candidatos globais


MAP-i 2007/2008
18
Algoritmo Dynamic Itemset
Counting (DIC)
Diminuir o nmero de passagems pelo dataset usando a ideia de iniciar a contagem
do N-itemset quando todos os seus subconjuntos (N-1)-itemsets j so frequentes.


MAP-i 2007/2008
19
DIC(2)
Large definitvo: frequente e contado
Large candidato:frequente mas em contagem
Small definitivo: j contado no frequente
Small candidato: em contagem, ainda no
frequente


MAP-i 2007/2008
20
Algoritmos: Representaes
Horizontais
Transaces so listas de items. Ex:
t12: 1,4,6,7,12,129,929
t15: 2,4,5,6,14,189,901
Verticais
Representar a cobertura de cada item nas
transaces. Ex:
Tidlist(6) = [t12,t15,t24,t123,t300,]
Tidlist(14)= [t15,t120,t541,]
Tidlist(129)=[t12,t18,t45,]



MAP-i 2007/2008
21
Representaes Verticais
Cover Lists
Ideal para sparse data
Tidlist(I) = [t4,t9,t12,t45,t312,]
sup(I) = #coverlist(I)
Tidlist(A U B) = tidlist(A) tidlist(B)
BitMaps
Melhores resultados com dense data
bitmap(I)= 0010011100011000
sup(I) = bitcount(bitmap(I))
bitmap(A U B) = bitmap(A) & bitmap(B)

Bitwise logical and
Contar bits ligados


MAP-i 2007/2008
22
Representaes Verticais (2)
DiffSets (altamente escalvel)
Em vez de representar todo o tidlist, usar s as
alteraes ao tidlist para calcular suporte.
Diffset(A U B) = tidlist(A) tidlist(B) (elementos de A que no
ocorrem em B)
s(AB) = s(A) - #ds(AB)
ds(ABC) = ds(AC) ds(AB)
s(ABC) = s(AB) - #ds(ABC)
Exemplo:
t(A) = [1,3,4,5], t(B)=[1,2,3,4,5,6], t(C)=[2,4,5,6].
ds(AB)=[ ],ds(AC)=[1,3], ds(ABC)=[1,3],
S(ABC)= 4 0 2 = 2.
Inicialmente temos
diffsets < tidlists
Ficam mais pequenos
conforme os itemsets se
tornam mais longos


MAP-i 2007/2008
23
Depth-first Expansion (Caren)
1 scan na BD para contar 1-items frequentes.
(items so ordenados por ordem crescente de suporte.
2 scan montar bitmaps (cover lists) dos 1-items e contar 2-itemsets
frequentes.
Depth-first expansion: Estender itemsets juntando items
(respeitando a ordem de items imposta). Fazer bitwise-and para
obter cover list do novo itemset. Usar testes para evitar operaes
bitcounting redundantes (verificar se os 2-itemsets contidos no novo
itemset em expanso so frequentes, etc e outros truques).
Contagem de suport bitcounting.
1 2 3 4 5 200 201
1 0 0 0 0 1 1 Itemset ABCE
transaco
Ocorrncia nessa transaco


MAP-i 2007/2008
24
Representaes condensadas de
termos frequentes
All itemsets frequentes (FIS)
Itemsets mximos (MIS)
Closed itemsets (CIS)
Free-sets (FS)

Em certas aplicaes vivel calcular
verses condensadas dos itemsets.
Simplifica-se o clculo e evita-se alguma
redundncia.
All Patterns
Closed Patterns
Maximal Patterns


MAP-i 2007/2008
25
Formatos Condensados
Maximal itemsets
I mximo se:


Closed itemsets
I um closed itemset se:




ou se
ms a I a < ) sup( :
) sup( ) sup( & ) sup( : I s ms s I s = >
O suporte dos itemsets frequentes que no so closed
so determinados pelos closed patterns.

cover(I) Je
= J I


MAP-i 2007/2008
26
Formatos Condensados (cont)
Seja X no closed, ento sup(X)=sup(I) onde I
o mais pequeno closed pattern que contm X
(closure de X)
Notar que em datasets esparsos #FIM #CIS !
-Free-patterns
X -free pattern sse no existe uma regra
de associao entre dois subconjunto de X com
excepes.
Melhor: X um -free pattern iff


) 1 sup( ) sup( , 1 X X X X < + c o


MAP-i 2007/2008
27
Regras de Inferncia de contagem
Alguns algoritmos usam regras de inferncia de
contagem (evitando algum esforo), derivando a
contagem de um itemset custa das contagem
dos seus subconjuntos.
Exemplos:
(support lower bound)
Sejam X,Y,Z itemsets,


(support inference)
Sejam X,Y,Z itemsets,
) sup( ) sup( ) sup( ) sup( X XZ XY XYZ + >
) sup( ) sup( ) sup( ) sup( XZ XYZ X XY = =


MAP-i 2007/2008
28
Exemplos de regras
Association Rules ...


Sup = 0.01500 Conf = 0.37500 oranges bananas & peaches
Sup = 0.03900 Conf = 0.30000 oranges peaches
Sup = 0.01000 Conf = 0.28571 oranges bananas & potatoes
Sup = 0.01000 Conf = 0.28571 oranges peaches & potatoes
Que informao possvel tirar deste tipo de estrutura ?
Leitura das regras
Capacidade de previso?
Interpretao das mtricas
Caracterstica da populao descrita...
Redundncia


MAP-i 2007/2008
29
Medidas de Interesse
Lift
Conviction
Leverage

2
Reliability
etc



Teste de
2
entre
antecedente e
consequente

) (
) (
) (
C s
C A conf
C A Lift

=
) ( 1
) ( 1
) (
C A conf
C s
C A conv


=
) ( ) ( ) ( C s C A conf C A R =
) ( * ) ( ) ( ) ( C s A s C A s C A leve =


MAP-i 2007/2008
30
Medidas de Interesse (2)
) (
) (
) (
C s
C A conf
C A Lift

=
) (
) (
) (
A s
C A s
C A conf

=
Confiana:
mede probabilidade condicional
P(C) dado A
Tende a dar nfase a regras no
correlacionadas (spurious rules).
Laplace:
estimador da confiana que tem
em conta o suporte
torna-se mais pessimista com o
valores de s(A) mais pequenos
sofre dos mesmos problemas da
confiana
2 ) (
1 ) (
) (
+
+
=
A s
C A s
C A lapl
Lift:
Mede a distncia para a independncia
entre A e C
varia entre [0, +oo[
Valor 1 independncia,
Valores longe de 1 indicam que a evidencia
de A fornece informao sobre C.
mede co-ocorrncia (no implicao)
simtrica!


MAP-i 2007/2008
31
Medidas de Interesse (3)
) ( 1
) ( 1
) (
C A conf
C s
C A conv


=
) ( ) ( ) ( ) ( C s A s C A s C A leve =
Conviction:
motivada pelas fraquezas de conf e lift
varia entre [0.5, +oo[
tenta capturar o grau de implicao entre A e C
directional i.e. conv(A C) conv(C A)
valor 1 indica independncia
motivao (implicao lgica): A C ~A C ~(A ~C)
medir quanto (A ~C) se desvia da independncia.
inverto o rcio entre s(A ~C) e s(A) x s(~C) para lidar com negao
excelente medida para classificao.
Leverage:
varia entre ]-0.25,0.25[
mede o nmero de casos extra obtidos
em relao ao esperado ( independncia)
Teste do 2:
Mede independncia estatstica entre antecedente
e consequente
no captura a fora da correlao entre A e C
Apenas suporta a deciso de independncia


= X
n
r
R i
r E
r E r O
c
] [
]) [ ) ( (
2
2


MAP-i 2007/2008
32
Medidas de Interesse (4)
Jaccard:
. mede grau de overlap (sobreposio) entre
os casos de A e os casos de C
varia entre [0,1]
mede a distncia entre A e C pela fraco
entre os casos cobertos pelos dois e
os caso cobertos por um s (A ou C).
valores altos indicam sobreposio de casos
cobertos.
Cosine:
tambm mede grau de overlap entre A e C
ver A e C como dois vectores
valor 1, os vectores coincidem
valor 0, vectores no tm sobreposio (varia entre [0,1])

Mutual Info:
mede a reduo de incerteza no consequente
quando o se toma conhecimento do antecedente.
simtrica
baseada na noo de entropia (de Shanahan)


MAP-i 2007/2008
33
Problemas da mtrica Confiana
) ( ) ( ) ( C s A s C A s =
A confiana pode no detectar independncia. A
regra ovos leite pode ter conf=80% mas
podemos saber que o consumo de ovos
independente de leite.
Independncia entre A e C:
Noutros casos podemos ter dependncia positiva/negativa.
Podemos usar uma medida de X^2 para medir correlao
Entre antecedente e consequente.


= X
n
r
R i
r E
r E r O
c
] [
]) [ ) ( (
2
2
Aplicar teste de X^2 com um valor de conf=95% e 1 grau de liberdade,
Se X^2 >= 3.84 rejeita-se a hiptese de independncia.


MAP-i 2007/2008
34
Pruning nos itemsets
Aplicar teste de X^2 durante a contagem de termos
frequentes.

Problema: X^2 no satisfaz a propriedade downward
closure. Isto , AB e BC podem no satisfazer o teste de
X
2
mas ABC pode. Upward closure property:
Se X
2
(AC) 3.84 ento necessriamente X
2
(ABC) 3.84

Caren. Define sempre um consequente. Em itemsets
onde este ocorre aplica X
2
.

Corre-se o risco de no gerar todas as regras possveis.
Potencialmente incompleto!


MAP-i 2007/2008
35
Fraquezas do framework
suport-confiana
Pode ser difcil definir um suporte mnimo ideal
Certos problemas podem exigir suporte mnimos
extremamente baixos e.g. caviar champagne
Soluo: procurar as k-optimal rules (sendo
ptimas em relao a uma medida especfica)
Suporte e confiana mnimas altas podem
perder regras interessantes
Confiana pode atribuir alto interesse a regras
no correlacionadas (como vimos!)
Outras medidas sofrem de problemas similares


MAP-i 2007/2008
36
Seleco e Pruning de Regras
Um algoritmo de FIM (mesmo com filtragem de suporte
confiana mnima) pode gerar milhes de regras.
Podemos ter #{regras} >> #{transaces} !!!
Maioria das regras so geradas fruto do acaso (no
sentido estatstico). Noo de false discoveries
Regras no correlacionadas (em que o antecedente e o
consequente so independentes)
Aparecimento de regras redundantes. Regras contm
items no antecedente que so explicados por outros
items tambm no antecedente. Ex (grvida => mulher):
Grvida & mulher reteno_de_liquidos

Descartar regra redundante x y se:
Existe z x : s(x y) = s(x - z y)


MAP-i 2007/2008
37
Pruning de Regras
Problema de improvement nas regras

Conf = 0.300 oranges bananas & peaches
Conf = 0.315 oranges peaches


Noo de improvement:
uma regra mais especifica tem de produzir uma mais valia em
termos de valor de medida de interesse.


met pode ser ={conf,lift,conv,X^2,etc}

Se o improvement > 0 dizemos que so regras productivas.
)) ' ( ) ( : ' min( ) ( C A met C A met A A C A imp c =


MAP-i 2007/2008
38
Significncia Estatstica
Em vez de definir um minimal improvement,
aplicar um teste de significncia estatstica:
eliminar regras no significativas (Webb,
Magnum Opus)
Uma regra x y insignificante se
Existir outra regra x z y em que valor
met(x y) met(x z y)
no significativamente alto (sendo met(x y) >met(x-z y))
Usa-se um teste da distribuio Binomial
para determinar significncia



MAP-i 2007/2008
39
Regras Significativas
Exemplo para um valor de significncia =1%
Processo: eliminar a regra mais especifica se a probabilidade de se
obter, ao acaso, o conjunto de transaces que cobrem essa regra
maior do que , assumindo que os dados so obtidos de uma amostra
aleatria e que o verdadeiro valor da mtrica (hiptese nula) o da regra
mais geral.
Regras (ntrans=1000, H
0
=0.907):

A & B C (antsup=272,sup=255,conf=0.938)
A C (antsup=333,sup=302,conf=0.907)


Binom.test(255,272,0.907,>H
0
,conf=0.99), obtm-se p-value=0.04608
A primeira regra insignificante (para =1%) em relao segunda,
porque adicionando B ao antecedente no aumente significativamente o
valor de conf.
sucesso #casos H.nula
H.alternativa
1 -


MAP-i 2007/2008
40
False Discoveries
Seja uma regra que satisfaz um conjunto de restries
em relao a uma distribuio , encontrada num
dataset D.
H o risco de se ter encontrado que satisfaz em
relao a D mas no a . (todos os mtodos de pruning
vistos anteriormente sofrem deste problema!)
Testes de Hiptese Estatsticos:
H
0
: verdadeiro
Se encontrado temos uma false discovery - Erro tipo I
(unsoundness)
Qualquer que no satisfaz H
0
e no for derivado -
Erro tipo II (incompleteness)



MAP-i 2007/2008
41
Significant Patterns (Webb07)
Dividir os dados para anlise em exploratory
data e holdout data.
Derivar regras no exploratory data
Aplicar teste de hipteses a cada regra (obter
um p-value para cada uma).
Rejeito H
0
se p-value < .
Usa-se a holdout data para efectuar os testes.
Alternativa (within search):
Calcular o tamanho do espao de pesquisa
Aplicar testes estatstico com correco de Bonferroni


MAP-i 2007/2008
42
Significant Patterns (2)
Usa o Exact Fisher Test,
p-value(x y, xz y):



Aceitar x y se p-value
Webb aplica este teste somente entre cada regra
x y e as suas imediatas generalizaes. Isto
regras
{ } y e
xz y tal que |x-z| = n - 1, sendo |x| = n.
Notar que x y tem 2
|x|

- 1 generalizaes!!

=
+ + + + +
+ + + +
=
) , min(
0
)! ( )! ( )! ( )! ( )! (
)! ( )! ( )! ( )! (
c b
i
i d i c i b i a d c b a
d b c a d c b a
p
a = s(x y)
b = s(x y)
c = s(x-z z y)
d = s(x-z z y)
Calcula a probabilidade de
observar os nmeros obtidos de
ocorrncia de x&y (ou valores
maiores) dado o nmero de
ocorrncias de x-z&y se
P(y|x)==P(y|x-z).


MAP-i 2007/2008
43
Significant Patterns (3)
Problema das Multiplas Comparaes!
Probabilidade de ocorrer um erro de tipo I
aumenta com o nmero de testes.
Usar Ajustamento de Bonferroni (corrigir para n
testes como sendo = /n) crivo demasiado
fino!
Usar Ajustamento de Holm (k em vez de ).
Risco de erro tipo I no mais do que . Requer
ordenao dos p-values e ter disponveis todos estes
valores antes de determinar valor de ajustamento (k).
Para (n testes) p
i
,

)
1
max(
1
+
s =
s s
j n
p k
j i j
o


MAP-i 2007/2008
44
Dados no Categricos
(tratamento durante a gerao dos itemsets)
Em formato atributo/valor os atributos numricos (ou de uma
grandeza no categrica, como ex: hierarquias) podem dar origem
a inmeros items.
Tende a gerar muitas regras e demasiado especificas, muitas vezes
sem valor de interesse. Em vez de:

class=1 colesterol = high & age=29
class=1 colesterol = high & age=32
class=1 colesterol = high & age=41
Deviamos ter:
class=1 colesterol = high & age [29,41]

Catch 22 situation: items de intervalos pequenos implica suportes
baixos o que leva no gerao de certas regras.
Por outro lado, intervalos grandes implica regras de confiana
baixa. Juntar valores de um atributo num intervalo leva perda de
informao!



MAP-i 2007/2008
45
Tratamento de valores numricos
Em Pr processamento:
Discretizao em intervalos de valores. Ex: criar
intervalos onde preservado o valor de classe.
Binarizao; cada atributo convertido em dois
valores. H a seleco de um valor de corte.
Durante o processamento (rvores de deciso):
Binarizao: Seleccionar um valor de corte entre os
valores do conjunto associado sub-rvore. O valor
escolhido aquele que maximiza ganho! (e sempre
um que est na transio entre valores de classe).
Aplicao recursiva deste princpio.


MAP-i 2007/2008
46
Dados Numricos
Age Colest Blood Class
23 High 2.33 A
24 Low 2.39 B
27 High 2.21 A
27 Low 1.09 A
29 Low 2.02 A
30 Low 2.98 C
31 Low 3.01 C
31 High 1.98 B
33 low 2.09 B
Discretizao Supervisionada: Atributo especial comando o processo.
Ex: Age: [23-23],[24-24],[27-29],[30-31],[33-33]
Ou Age < 29, Age 29.

No supervisionada: O processo independente dos outros atributos.
Ex: Age:[23-27],[29-31],[33-33]


MAP-i 2007/2008
47
Discretizao
Supervisionada:
Fayyad & Irani: Entropy oriented
Class intervals (caren)
Chi-Merge

No supervisionada:
Equi-depth (intervalos de igual n de elementos)
Equi-width (intervalos de igual largura)
Srikant (caren)
K-means




MAP-i 2007/2008
48
Discretizao Fayyad & Irani
(em Pr-processamento)
Ordenar os valores do atributo a discretizar,
Definir os cut points ponto onde h alternncia
de classe,
Calcular Ganho Informativo para cada ponto:



Escolher ponto com maior valor de Ganho,
Verificar se condio MDL satisfeita
Se sim o processo pra,
Seno aplicar recursivamente o processo
esquerda e direita do ponto escolhido.



MAP-i 2007/2008
49
Fayyad & Irani
Condio Minimal Description Length:



N = #S, k = #classes, k
i
= #classes em S
i
Processo pra se a condio satisfeita.
0.0 2.3 12.4
19.3
24.4
18.9
2.3


MAP-i 2007/2008
50
Discretizao ChiMerge
Juntar intervalos adjacentes que demonstram
independncia sobre o atributo classe.
Medir independncia atravs de um teste de
2
.
Escolher o par com menor valor da estatstica.

Parar quando, para o par escolhido,
2
> ,
sendo dado pelo utilizador.
Inicialmente ordena-se os valores do atributo a
discretizar. Cada valor d origem a um intervalo
unitrio.


MAP-i 2007/2008
51
ChiMerge
Clculo do
2







Sendo:
k nmero de classes
A
ij
nmero de exemplos no intervalo i da classe j
E
ij
= #(intervalo i) x #(classe j) / N, ou seja frequncia esperada.


Graus de liberdade = (#intervalos -1) x (#classes -1)

Se o teste indica dependncia ento a diferena na distribuio de
classes entre os intervalos estatisticamente significativa. Ou seja,
os intervalos devem permanecer separados.



= =

=
2
1 1
2
) (
2
i
k
j
ij
ij ij
E
A E
_


MAP-i 2007/2008
52
Discretizao Srikant & Agrawal
Ocorre durante a execuo do algoritmo de FIM.

Inicia com um nmero pr-definido de intervalos. Este
nmero calculado usando uma medida de perda de
informao (Partial Completeness).

Fuso de intervalos adjacentes controlada pelo valor de
suporte do intervalo obtido.

Gera-se assim novos items que convivem com os
intervalos iniciais.

Ficamos com vrios nveis de informao sobre o
atributo numrico (com menor ou maior granularidade).


MAP-i 2007/2008
53
Fuso de Intervalos
Dom(X) = {1,2,3,4}

Intervalos base:
X=[1,1], sup=0.1
X=[2,2], sup=0.2
X=[3,3], sup=0.2
X=[4,4], sup=0.5

Ento podemos ter:
X=[1,2], sup=0.3
X=[3,4], sup=0.7

Mas tambm:
X=[1,3], sup=0.5
X=[2,4], sup=0.9
e at
X=[1,4], sup=1

No esquecer que estes intervalos s so
gerados se no ultrapassarem o suporte
mximo imposto pelo utilizar.
H o problema da gerao de demasiados
items. Para n valores (ou intervalos) de um
atributo temos potencialmente O(n^2) items
que contm um valor ou intervalo do atributo.

O mesmo pode acontecer com as regras em
relao confiana.



MAP-i 2007/2008
54
Partial Completeness
P C,
X P e X X X P,
X C, Z tal que:
Z uma generalizao de X e s(Z) K x s(X),
Y X Y tal que:
Y uma generalizao de Y e
s(Y) K x s(Y).
Pretende-se avaliar o grau de perda de informao que surge com a definio
de intervalos. Este medida permite definir o nmero ideal de intervalos em
relao perda admitida.
Seja C um conjunto de itemsets de um dataset D. Para um K>1, dizemos
que P K-completo em relao a C se:

-
-


MAP-i 2007/2008
55
Exemplo
num itemset sup
1 X=[20,30] 10
2 X=[20,40] 12
3 X=[20,50] 15
4 Y=[1,5] 10
5 Y=[1,7] 12
6 X=[20,30],Y=[1,5] 8
7 X=[20,40],Y=[1,7] 10
Os itemsets 2,3,5,7 formam um conjunto
P 1.5-completo.

Qualquer itemset de X tem uma
generalizao neste conjunto em que o
suporte dessa generalizao superior no
mximo 1.5 vezes o suporte de X
Intervalos equi-depth (com o mesmo nmero de valores contnuos)
minimizam o nmero de intervalos necessrio para minimizar um dado
nvel K de partial completeness.


MAP-i 2007/2008
56
Nmero de Intervalos
) 1 ( *
* 2

=
k ms
n
num
n o nmero de atributos contnuos. ms suporte mnimo

Quanto mais baixo o valor de completude K menor a perda de informao
e maior o nmero de intervalos.

Notar que, para controlar a fuso de intervalos usa-se um valor de suporte
mximo que tipicamente, por omisso, igual a ms.


MAP-i 2007/2008
57
Exemplo
X Y CLASS
1 11 A
1 11 B
2 13 B
2 13 A
3 15 C
3 15 A
7 18 B
7 18 B
9 23 B
9 23 A
ms = 0.2 K = 8
3
) 7 * 2 . 0 (
2 * 2
= = num
Intervalos base:

X=[1,2], X=[3,7], X=[9,9]
Y=[11,13], Y=[15,18], Y=[23,23]

Se suporte mximo for 0.6 podemos
obter por fuso:

X=[3,9] e Y=[15,23]


MAP-i 2007/2008
58
Gerao de Regras de Associao para
propriedades de interesse numricas
Ideia geral: Ter regras em que o consequente a
representao de uma propriedade numrica.

Exemplos:


Sex=female Wage: mean=$7.9 (overall mean=$9.02)


non-smoker & wine-drinker life-expectancy=85 (overall=80)



MAP-i 2007/2008
59
Regras de Associao com propriedades
numricas (cont)
Vrias propostas
Quantitative Association Rules (Aumann &
Lindell99)
Impact Rules (Webb 2001)
Distribution Rules (Jorge & Azevedo 2006)
Ideia comum a todas as propostas:
Gerar regras que representam o comportamento de uma
propriedade numrica num sub populao interessante.
Diferentes propostas de noo de regra interessante.



MAP-i 2007/2008
60
Regras de Associao com propriedades
numricas (cont)
Noo de sub populao interessante.
QAR, usa um z-test para confirmar interesse (validade) da
regra. z-test entre mean
J
(Tx) e mean(D-Tx) com =0.05.

Regras do tipo: subset(X) Mean
J
(Tx) onde
Mean
J
(Tx) Mean(D-Tx)
z.test(
0
,observ,): Usado para encontrar diferenas
significativas entre as mdias
0
e mdia da amostra.
Calcula a probabilidade de a mdia de uma amostra obtida assumindo a mdia e desvio
padro da populao (
0
e ) seja maior do que a mdia observada - assume
distribuio Normal!
Permite concluir se a amostra pertence populao em
estudo.
Complemento
de Tx


MAP-i 2007/2008
61
Regras de Associao com propriedades
numricas (cont)
Impact Rules (Webb)

Interesse refere-se noo de impacto. Optimizao
pesquisando-se impact rules que maximizam a definio
de impacto.

Uso de t-test para avaliar significncia: tende para o z-test
com o aumento do nmero de graus de liberdade. Mais adaptado
para amostra pequenas. Procedimento de comparao de mdias.

Noo de Impacto:


)) ( ( cover ) ) ( ( ) Impact( x IR ant poi IR Mean IR =
Mdia da prop.
de interesse


MAP-i 2007/2008
62
Distribution Rules
O consequente uma distribuio,


Uso do teste Kolmogorov-Smirnov, para avaliar se regra
interessante.

Noo de interesse: Regra interessante se o pi-value
do

ks-test(apriori,rules-dist) <

for menor que o valor dado pelo utilizador.

Distribuio geral
da populao
Distribuio do
subgrupo da regra


MAP-i 2007/2008
63
Ideia Geral
Gerar regras de associao em que o consequente a
distribuio da propriedade numrica a estudar e o
antecedente a descrio da sub populao.
Comparar distribuio apriori (da populao geral) com
a distribuio do sub grupo (via ks-test()).
Ex: Ant-Sup = 0.14482

IDADE={46/1,48/1,51/2,52/2,54/1,55/1,57/2,58/1,59/3,60/2,61/2,62/2,63/3,64/4,65
/4,66/4,67/3,68/4,69/2,70/6,72/6,73/4,75/3,76/7,77/5,78/3,79/1,80/2,81/1,82/4,83/2,
84/3,86/3,90/1 } TAVC=1 & DIAB=0

Descreve a distribuio da IDADE para a sub populao (que
representa 14,4% dos indivduos estudados) que teve o tipo de AVC
1 e no diabtica.


MAP-i 2007/2008
64
Distribution Rule presentation
property of
interest
each DR is a plot
distribution plot
frequency
polygon
static binning
distribution
statistics
comparison with
default
distribution



MAP-i 2007/2008
65
Medir o interesse de uma DR
KS-interest:
Given a rule Ay=D
y|A
, its
KS-interest is 1-p,
p is the p-value of the KS test
comparing D
y|A
and D
y|C

KS-improvement
value added by the refinements of a rule
imp(AB) is
min({KS-interest(AB) - KS-interest(AsB) | As _A})


MAP-i 2007/2008
66
Aplicaes de Regras de Distribuio
Descripitive data mining
dataset: Determinants of Wages from the 1985 Current Population
Survey in the United States, a.k.a. Wages
property of interest: WAGE
Rule discovery
min-sup=0.1, KS-int=0.95
minimal KS-improvement of 0.01
numerical attributes in the antecedent were pre-discretized
compact internal representation of rules
rules can be output as text or graphically




MAP-i 2007/2008
67
Using Distribution Rules
antecedent
people with 13 to 15
years of education
not from the south
consequent
wage distribution is
better than the
whole population
but still
concentrated on the
same interval



MAP-i 2007/2008
68
Using Distribution Rules
antecedent
refinement of previous
race is white
consequent
wage distribution is
even better than before
KS-improvement is
higher than 0.01
the wages still are
concentrated on the
same interval as before



MAP-i 2007/2008
69
Using Distribution Rules
antecedent
married males
consequent
less interesting
still signif. different



MAP-i 2007/2008
70
Using Distribution Rules
antecedent
Occupation=Clerical
consequent
concentrated on
lower income



MAP-i 2007/2008
71
Using Distribution Rules
antecedent
Occupation=Management
consequent
clearly better wage
distribution
we also observe a
slightly lifted right
tail




MAP-i 2007/2008
72
Using Distribution Rules
antecedent
young people
consequent
lower wages, very
concentrated
some secondary
modes are
suggested



MAP-i 2007/2008
73
Anlise de Sub Grupos
Por vezes interessante analisar a
distribuio dos valores de um atributo
numrico.
Queremos identificar sub populaes que
se distinguem em relao populao
geral pela distribuio particular do
atributo numrico.
Aplicaes naturais em dados mdicos.


MAP-i 2007/2008
74
Anlise de Distribuies
Aplicar testes de Goodness of Fit. (e.g. Kolmogorov-Smirnov).
Compara distribuies segundo parmetros tipo Skewness
(grau de assimetria) e Kurtosis (grau de afunilamento)
Ant sup = 0.18593 KS = 0.000000005119
Kurt = 10.990787557293 Skew = 2.475421605300
NCY=6 & ORIGIN=1
MPG={ 15.0/4,16.0/5,17.0/2,18.0/18,19.0/13,20.0/7,
21.0/11,22.0/6,23.0/2,24.0/2,25.0/1,27.0/1,
29.0/1,38.0/1 }


MAP-i 2007/2008
75
Modelos de Previso
com Regras de Associao
Ver um conjunto de regras seleccionadas
como um modelo de previso.
Para fazer previso sobre um caso, usar
as previses derivadas das regras que
cobrem esse caso.
Usados em:
Sistemas de recomendao
Classificao
Previso numrica


MAP-i 2007/2008
76
Classificao com Regras de
Associao
Os modelos so um conjunto
seleccionado de regras de associao.
Regras com um s consequente = classe
(CAR rules).
Vrias propostas: CMAR, CBA, Apriori-C.
Vrios mtodos: BestRule, Votao,
Distribuio de classes,
Uso de diferentes mtricas.
Implementao no CAREN



MAP-i 2007/2008
77
BestRule Prediction
Para um novo caso:
Produzir um rank com as regras que cobrem caso,
Escolher a regra do topo do rank,
A previso o consequente desta regra,


Rank produzido pela seguinte ordenao:

) ( min arg
) (
r rank bestrule
x F r
x
e
=
) ( ) ( ) ( ) ( ) ( ) (
) ( ) ( ) ( ) (
) ( ) (
2 1 2 1 2 1
2 1 2 1
2 1
2 1
R ant R ant R sup R sup R meas R meas
or R sup R sup R meas R meas
or R meas R meas
if R R
< . == . ==
> . ==
>



MAP-i 2007/2008
78
Voting
Para um novo caso:
Seleccionar as regras que cobrem o caso,
Cada regra vote na classe que representa
(consequente).
A votao ponderada pelo valor da medida
de interesse
Alternativamente, a votao uniforme


MAP-i 2007/2008
79
Class Distribution
S aplicvel em medidas de interesse com
valores [0,1] (conf, laplace, etc)

Votao idntica aos mtodos de voting.

Noo de resduo:
Residuo(r) = 1 vote(r),
Os resduos de um regra so uniformemente
distribudos pelas classes no votadas pela regra,
Regras com o mesmo corpo so tratadas em bloco.


MAP-i 2007/2008
80
Seleco de Regras CAR
Noo de cobertura do conjunto de treino
1) Ordenar regras por ordem descendente de confiana
2) Para cada exemplo e Treino, e.count=0;
3) Enquanto conjunto Treino e Regras fazer
1) Para cada r Regras
1) Encontrar todos os e que cobrem r
2) Se r classifica bem pelo menos um e
3) Ento fazer e.count++ para todos e
4) Seleccionar r e retirar de Regras
Vrios propostas: CBA os exemplos de treino
so retirados assim que usados. CMAR tem a
noo de cobertura . Os exemplos so
retirados quando e.count > .



MAP-i 2007/2008
81
Seleco de regras
So seleccionadas as primeiras N regras que cobrem o
conjunto de treino (e com mais alta confiana)
CBA usa pessimistic error rate based pruning
CMAR aplica voting (seleco de vrias regras que
cobrem o exemplo): Divide regras por grupos de classes
que estas representam. Faz votao por
2
pesado (de
cada grupo).
Apriori-C usa subset feature selection remoo de
items, e N best rules in each class escolha por classe.
CBA faz BestRule - Escolhe regra do topo da ordem.
Ordena regras por:
R1 > R2 sse conf(R1) > conf(R2)
Ou conf(R1) == conf(R2) && sup(R1) > sup(R2)
Ou conf(R1) == conf(R2) && sup(R1) == sup(R2)
mas R1 gerada primeiro que R2



MAP-i 2007/2008
82
Composio de Modelos
A escolha de um s modelo levanta problemas
estatsticos (deciso sem suporte), computacionais
(mximos locais) e de representao (a hiptese no
est no espao).
Uso de mltiplos modelos tende a minimizar todos estes
problemas.

Combinao de predies:
Voting (ponderada)
Voting (uniforme)
Class distribuition (CAREN)
Gerao de Modelos Homogneos
Bagging
Boosting
Gerao de Modelos Heterogneos
Stacking



MAP-i 2007/2008
83
Bagging
Boostrapp AGGregation,
boostrapping dos vrios conjuntos de treino,
Cada conjunto de treino (de tamanho igual ao
dataset inicial) d origem a um modelo,
(amostragem com substituio)
Previso feita por votao uniforme.
Funciona porque reduz a variabilidade dos modelos
individuais escolhendo o voto maioritrio de muitos modelos.
Em rvores de deciso acontece:
na escolha do um atributo de teste para um n
na escolha dos cut-points nos atributos numricos.


MAP-i 2007/2008
84
Bagging
D
S
1
S
2
S
n
M
1
M
2
M
n
pred
1
pred
2
pred
n
final
prediction
D
M
1
M
2
M
n
pred
1
pred
2
pred
n
final
prediction
R

Post Bagging
sampling
voting


MAP-i 2007/2008
85
Post-Bagging (CAREN)
Jorge & Azevedo (Discovery Science 05)
Amostragem de regras em vez de casos,
No h necessidade de relearning,
Conjunto de variantes sobre tipo de votos,
e possibilidade de dont knows,
Baixa a componente de varincia do erro.
Implementado no CAREN.



MAP-i 2007/2008
86
Boosting
Algoritmo iterativo
Associa um peso a cada exemplo
Inicializar os peso de uma forma uniforme
Iterativamente:
gera um modelo para a actual distribuio
dos exemplos (distribuio dada pelos pesos)
os pesos dos exemplos mal classificados
so incrementados para a prxima iterao.
Os modelos gerados so agregados por votao
pesada.
H reduo do bias e da varincia.


MAP-i 2007/2008
87
Boosting (2)
Weak learner que gera um hiper-plano paralelo a um dos eixos
+
-
- +
+
-
+
Treino
Treino
+
-
-
+
- +
Deciso
Deciso
1Iterao
2Iterao
+
+
+
+
+
+
+
+ +
-
-
+
-
- +
+
+
Composio dos
Dois modelos
No limite, boosting consegue cobrir todos os casos,
i.e. accuracy de treino = 1.0


MAP-i 2007/2008
88
Iterative Reordering
Increase the accuracy of a CAR set

Run the rule set on the training set
Re-evaluate the interest and support of each
rule
Interest according to rules accuracy
Support according to rules usage

This yields a new ordering on the original set
of rules



MAP-i 2007/2008
89
Iterative Reordering
D
r1

r2
r3
r4
pred
1
pred
2
pred
n
final
prediction
r1

r3
r2
r4
r2

r3
r1

r2

r3


Rule
generation
Re-evaluate
Re-order
filter
Re-evaluate
Re-order
filter
pred
3
. . .

+ + +
T
1
T
2
T
3
T
n


MAP-i 2007/2008
90
Ensemble generation
Updating interest






support(Trial
i
) = usage(Trial
i-1
)


MAP-i 2007/2008
91
IRE Algorithm


MAP-i 2007/2008
92
Prediction
Given a new case
For each trial
Use BestRule

Overall prediction
Weighted trial voting (two variants)
Weight = global accuracy of the trial
IRE.V.Acc.int
Weight = interest measure of the best rule within
the trial
IRE.BR.int


MAP-i 2007/2008
93
Method behavior
Bias variance analysis (Kohavis methodology)
10 out of 12 datasets reduce bias visibly
Variance tends to increase
Error reduction seems to be mainly due to bias reduction


MAP-i 2007/2008
94
Concluses
Algoritmos para calcular associaes entre
elementos atmicos nos dados (items),
Gerao de Regras que descrevem associao
entre elementos atmicos dos dados.
Seleco de regras interessantes e
significativas,
Tratamento de dados no categricos
Anlise de propriedades de interesse
numricas.
Previso com regras de associao

You might also like