regras de associação paulo j azevedo di - universidade do minho 2007-2008
Post on 05-Jan-2016
47 Views
Preview:
DESCRIPTION
TRANSCRIPT
MAP-i 2007/2008
1
Regras de Associação
Paulo J Azevedo
DI - Universidade do Minho2007-2008
Detecção de associações nos dados
MAP-i 2007/2008
2
Sumário• Motivação• Introdução às regras de associação• Algoritmos para cálculo de termos frequentes
– Apriori e outras variantes Breath-first
• Representações Verticais– Algoritmos Depth-first com representações verticais
• Representações condensadas de termos frequentes• Medidas de interesse• Filtragem de termos não correlacionados• Selecção e pruning de regras• Atributos contínuos em regras de associação• Estudo de propriedades numéricas com regras de
associação• Modelos de previsão com regras de associação
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 estão associadas ao consumo de cerveja X ?
• Como podemos descrever a população consumidora de amendoins?
• Onde devem estar localizadas os produtos de limpeza doméstica ?
• Como se relacionam os produtos 1661 e 199 ?
Número da
transacção
item
MAP-i 2007/2008
4
Como expressar a informação extraída ?
• Regras que relacionam produtos (items),
901 & 1661 67
Todas as regras ?
Como obter ?
Como seleccionar ?
Como organizar ?
Há um número explosivo de potenciais regras que podem ser
derivadas!
Qual o procedimento eficiente a aplicar?
Como discriminar regras “boas” de
“más” ?
Qualidade das regrasexpressa por medidasestatísticas.
MAP-i 2007/2008
5
A CB D
ADACAB BC BD
ABCD
ABD ACDABC
CD
Set indica inclusão
matemática
Itemset
Item
BCD
Podemos ver o problema pela perspectiva do espaço de pesquisa a explorar
MAP-i 2007/2008
6
Medidas de Interesse• Tipicamente recorre-se a uma métrica de incidência para definir quais as
associações significantes.• A mais popular é o suporte (contagem) dos itemsets.• As regras são qualificadas por uma métrica de interesse (previsibilidade,
solidez ou força da regra).• Normalmente é usada a confiança (probabilidade condicional)• Assim, a regra de associação:
• Deve ser lida como: a compra conjunta dos produtos 901, 707 e 1088 ocorre em 30% das transacções. Por outro lado, verifica-se que 90% das transacções que contêm 901 e 707 também contêm o produto 1088.
• Outra leitura: 90% da sub-população 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
Aplicações• Sistemas de recomendação,• 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,• Classificação,• etc,
MAP-i 2007/2008
8
Application: Recommendations using AR
index.html
A
B
C D
E
A DObs.:
Rules:
A E D
A D F
A B DF
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 detectionTTR Hydrophobic Clusters detection
0 2 4 6 8
0
25
50
75
100
% S
AS
A
Leu 12
ASup = 0.34821 Conf = 1.00000LEU_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
AS
A
Met 13
0 2 4 6 80
5
10
15
20
25
Dis
tan
ce
(Å
)
L12 - M13
0 2 4 6 8
0
25
50
75
100
% S
AS
A
Phe 64
0 2 4 6 80
5
10
15
20
25
Dis
tan
ce
(Å
)
L12 - F64
0 2 4 6 8
0
25
50
75
100
% S
AS
A
Time (ns)
Ala 97
0 2 4 6 80
5
10
15
20
25
Dis
tan
ce
(Å
)
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
Geração de Regras
• Cálculo da confiança: conf(AC) = s(A C) / s(A).
• Noção 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
Cálculo de Termos Frequentes (frequent itemsets)
• Algoritmo naif: Seja K = { items em DB},
Derivar o P(K) (power_set),
Percorrer DB para contar as ocorrências de P(K)
Filtrar os itemset em P(K) que não verificam minsup.
• Intractável!!!!!!!!• Melhor: fazer uso da propriedade downward closure
do suporte Se X ⊆ Y então 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 transacções 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 oscandidatos a contar. Só são considerados candidatos queobedecem à propriedade anti-monótona (é candidato se todos os seus subconjuntos são frequentes!)
MAP-i 2007/2008
13
A CB D
ADACAB BC BD
ABCD
ABD ACDABC
CD
Infrequente
BCD
Aplicação da Propriedade Anti-monótona
MAP-i 2007/2008
14
Apriori “in action…”
MAP-i 2007/2008
15
Tipos de Algoritmos para Cálculo 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• Versão paralela do Apriori. Definir várias partições no dataset onde
aplicamos localmente o Apriori.
• A soma dos itemsets frequentes ocorridos em cada partição é um superconjunto dos termos frequentes no dataset. Segunda passagem no dataset para contar os candidatos encontrados nas partições.
MAP-i 2007/2008
17
Algoritmo Partition(2)
• Filtragem de candidatos globais
MAP-i 2007/2008
18
Algoritmo Dynamic Itemset Counting (DIC)
Diminuir o número de passagems pelo dataset usando a ideia de iniciar a contagemdo N-itemset quando todos os seus subconjuntos (N-1)-itemsets já são frequentes.
MAP-i 2007/2008
19
DIC(2)
•Large definitvo: frequente e contado•Large candidato:frequente mas em contagem•Small definitivo: já contado não frequente•Small candidato: em contagem, ainda não frequente
MAP-i 2007/2008
20
Algoritmos: Representações• Horizontais
– Transacções são 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
transacções. Ex:Tidlist(6) = [t12,t15,t24,t123,t300,…]
Tidlist(14)= [t15,t120,t541,…]
Tidlist(129)=[t12,t18,t45,…]
MAP-i 2007/2008
21
Representações 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
Representações Verticais (2)• DiffSets (altamente escalável)
– Em vez de representar todo o tidlist, usar só as “alterações” ao tidlist para calcular suporte.
– Diffset(A U B) = tidlist(A) – tidlist(B) (elementos de A que não
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 são 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 operações
bitcounting redundantes (verificar se os 2-itemsets contidos no novo itemset em expansão são frequentes, etc e outros “truques”).
Contagem de suport ↔ bitcounting.
1 2 3 4 5 200 201
1 0 0 0 011Itemset ABCE
transacção
Ocorrência nessa transacção
MAP-i 2007/2008
24
Representações condensadas de termos frequentes
• All itemsets frequentes (FIS)• Itemsets máximos (MIS)• Closed itemsets (CIS)• Free-sets (FS)
Em certas aplicações é viável calcular versões condensadas dos itemsets. Simplifica-se o cálculo e evita-se alguma redundância.
All Patterns
Closed Patterns
Maximal Patterns
MAP-i 2007/2008
25
Formatos Condensados
• Maximal itemsets I é máximo se:
• Closed itemsets I é um closed itemset se:
ou se
msaIa )sup(:
)sup()sup(&)sup(: IsmssIs
O suporte dos itemsets frequentes que não são “closed” são determinados pelos closed patterns.
cover(I)J JI
MAP-i 2007/2008
26
Formatos Condensados (cont)
• Seja X não closed, então sup(X)=sup(I) onde I é o mais pequeno closed pattern que contém X (closure de X)– Notar que em datasets esparsos #FIM ≈ #CIS !
• δ-Free-patterns
X é δ-free pattern sse não existe uma regra de associação entre dois subconjunto de X com δ excepções.
• Melhor: X é um δ-free pattern iff
)1sup()sup( ,1 XXXX
MAP-i 2007/2008
27
Regras de Inferência de contagem
• Alguns algoritmos usam regras de inferência de contagem (evitando algum esforço), 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( XXZXYXYZ
)sup()sup( )sup()sup( XZXYZXXY
MAP-i 2007/2008
28
Exemplos de regras
Association Rules ...
Sup = 0.01500 Conf = 0.37500 oranges bananas & peachesSup = 0.03900 Conf = 0.30000 oranges peachesSup = 0.01000 Conf = 0.28571 oranges bananas & potatoesSup = 0.01000 Conf = 0.28571 oranges peaches & potatoes
• Que informação é possível tirar deste tipo de estrutura ?• Leitura das regras…• Capacidade de previsão?• Interpretação das métricas• Característica da população descrita...• Redundância
MAP-i 2007/2008
29
Medidas de Interesse
• Lift• Conviction• Leverage• Χ2
• Reliability• etc
Teste de Χ2 entre antecedente e consequente
)(
)()(
Cs
CAconfCALift
)(1
)(1)(
CAconf
CsCAconv
)()()( CsCAconfCAR
)(*)()()( CsAsCAsCAleve
MAP-i 2007/2008
30
Medidas de Interesse (2)
)(
)()(
Cs
CAconfCALift
)(
)()(
As
CAsCAconf
Confiança:• mede probabilidade condicionalP(C) dado A•Tende a dar ênfase a regras nãocorrelacionadas (spurious rules).
Laplace:• estimador da confiança que temem conta o suporte• torna-se mais pessimista com ovalores de s(A) mais pequenos• sofre dos mesmos problemas da confiança
2)(
1)()(
As
CAsCAlapl
Lift:• Mede a distância para a independênciaentre A e C• varia entre [0, +oo[• Valor 1 independência,• Valores longe de 1 indicam que a evidenciade A fornece informação sobre C.• mede co-ocorrência (não implicação)• é simétrica!
MAP-i 2007/2008
31
Medidas de Interesse (3)
)(1
)(1)(
CAconf
CsCAconv
)()()()( CsAsCAsCAleve
Conviction:• motivada pelas fraquezas de conf e lift• varia entre [0.5, +oo[• tenta capturar o grau de implicação entre A e C• é directional i.e. conv(A C) ≠ conv(C A)• valor 1 indica independência• motivação (implicação lógica): A C ~A υ C ~(A ∩ ~C)• medir quanto (A ∩ ~C) se desvia da independência.• inverto o rácio entre s(A υ ~C) e s(A) x s(~C) para lidar com negação• excelente medida para classificação.
Leverage:• varia entre ]-0.25,0.25[• mede o número de casos extra obtidosem relação ao esperado (à independência)
Teste do χ2:•Mede independência estatística entre antecedentee consequente• não captura a força da correlação entre A e C• Apenas suporta a decisão de independência
n
r RirE
rErO
][
])[)(( 22
MAP-i 2007/2008
32
Medidas de Interesse (4)Jaccard:•. mede grau de “overlap” (sobreposição) entreos casos de A e os casos de C• varia entre [0,1]• mede a distância entre A e C pela fracçãoentre os casos cobertos pelos dois eos caso cobertos por um só (A ou C).• valores altos indicam sobreposição de casoscobertos.Cosine:• também mede grau de “overlap” entre A e C• ver A e C como dois vectores• valor 1, os vectores coincidem• valor 0, vectores não têm sobreposição (varia entre [0,1])
Mutual Info:• mede a redução de incerteza no consequente quando o se toma conhecimento do antecedente.• é simétrica• baseada na noção de entropia (de Shanahan)
MAP-i 2007/2008
33
Problemas da métrica Confiança
)()()( CsAsCAs
A confiança pode não detectar independência. A regra ovos leite pode ter conf=80% mas podemos saber que o consumo de ovos é independente de leite.
Independência entre A e C:
Noutros casos podemos ter dependência positiva/negativa.Podemos usar uma medida de X^2 para medir correlaçãoEntre antecedente e consequente.
n
r RirE
rErO
][
])[)(( 22
Aplicar teste de X^2 com um valor de conf=95% e 1 grau de liberdade, Se X^2 >= 3.84 rejeita-se a hipótese de independência.
MAP-i 2007/2008
34
Pruning nos itemsets• Aplicar teste de X^2 durante a contagem de termos
frequentes.
• Problema: X^2 não satisfaz a propriedade downward closure. Isto é, AB e BC podem não satisfazer o teste de X2 mas ABC pode. Upward closure property:– Se X2(AC) ≥ 3.84 então necessáriamente X2(ABC) ≥ 3.84
• Caren. Define sempre um consequente. Em itemsets onde este ocorre aplica X2.
• Corre-se o risco de não gerar todas as regras possíveis. Potencialmente incompleto!
MAP-i 2007/2008
35
Fraquezas do framework suport-confiança
• Pode ser difícil definir um suporte mínimo ideal• Certos problemas podem exigir suporte mínimos
extremamente baixos e.g. caviar champagne• Solução: procurar as k-optimal rules (sendo
óptimas em relação a uma medida específica)• Suporte e confiança mínimas altas podem
perder regras interessantes• Confiança pode atribuir alto interesse a regras
não correlacionadas (como vimos!)• Outras medidas sofrem de problemas similares
MAP-i 2007/2008
36
Selecção e Pruning de Regras• Um algoritmo de FIM (mesmo com filtragem de suporte
confiança mínima) pode gerar milhões de regras. Podemos ter #{regras} >> #{transacções} !!!
• Maioria das regras são geradas fruto do acaso (no sentido estatístico). Noção de false discoveries
• Regras não correlacionadas (em que o antecedente e o consequente são independentes)
• Aparecimento de regras redundantes. Regras contêm items no antecedente que são explicados por outros items também no antecedente. Ex (grávida => mulher):
• Grávida & mulher retenção_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 RegrasProblema de improvement nas regras
Conf = 0.300 oranges bananas & peaches Conf = 0.315 oranges peaches
Noção 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 são regras productivas.
))'()(:'min()( CAmetCAmetAACAimp
MAP-i 2007/2008
38
Significância Estatística• Em vez de definir um minimal improvement,
aplicar um teste de significância estatística: eliminar regras não 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) não é significativamente alto (sendo met(x y) >met(x-z y))
• Usa-se um teste da distribuição Binomial para determinar significância
MAP-i 2007/2008
39
Regras Significativas• Exemplo para um valor de significância α=1%• Processo: eliminar a regra mais especifica se a probabilidade de se
obter, ao acaso, o conjunto de transacções que cobrem essa regra é maior do que α, assumindo que os dados são obtidos de uma amostra aleatória e que o verdadeiro valor da métrica (hipótese nula) é o da regra mais geral.
• Regras (ntrans=1000, H0=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,>H0,conf=0.99), obtém-se p-value=0.04608• A primeira regra é insignificante (para α=1%) em relação à segunda,
porque adicionando B ao antecedente não 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 restrições
φ em relação a uma distribuição Θ, encontrada num dataset D.
• Há o risco de se ter encontrado ρ que satisfaz φ em relação a D mas não a Θ. (todos os métodos de pruning vistos anteriormente sofrem deste problema!)
• Testes de Hipótese Estatísticos:– H0: ¬ρ é verdadeiro
– Se ρ é encontrado temos uma false discovery - Erro tipo I (unsoundness)
– Qualquer ρ que não satisfaz H0 e não for derivado -
Erro tipo II (incompleteness)
MAP-i 2007/2008
41
Significant Patterns (Webb’07)
• Dividir os dados para análise em exploratory data e holdout data.
• Derivar regras no exploratory data• Aplicar teste de hipóteses a cada regra (obter
um p-value para cada uma). – Rejeito H0 se p-value < α.
• Usa-se a holdout data para efectuar os testes.• Alternativa (within search):
– Calcular o tamanho do espaço de pesquisa– Aplicar testes estatístico com correcção de Bonferroni
MAP-i 2007/2008
42
Significant Patterns (2)
• Usa o Exact Fisher Test,– p-value(x y, x–z y):
– Aceitar x y se p-value ≤ α
• Webb aplica este teste somente entre cada regra x y e as suas imediatas generalizações. Isto é regras – { } y e– x–z y tal que |x-z| = n - 1, sendo |x| = n.– Notar que x y tem 2|x| - 1 generalizações!!
),min(
0 )!()!()!()!()!(
)!()!()!()!(cb
i idicibiadcba
dbcadcbap
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 números obtidos de ocorrência de x&y (ou valores maiores) dado o número de ocorrências de x-z&y se P(y|
x)==P(y|x-z).
MAP-i 2007/2008
43
Significant Patterns (3)
• Problema das Multiplas Comparações! Probabilidade de ocorrer um erro de tipo I aumenta com o número 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 é não mais do que α. Requer
ordenação dos p-values e ter disponíveis todos estes valores antes de determinar valor de ajustamento (k).
– Para (n testes) pi, )1
max( 1 jn
pk jij
MAP-i 2007/2008
44
Dados não Categóricos(tratamento durante a geração dos itemsets)
• Em formato atributo/valor os atributos numéricos (ou de uma grandeza não categórica, como ex: hierarquias) podem dar origem a inúmeros 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 à não geração de certas regras.
• Por outro lado, intervalos grandes implica regras de confiança baixa. Juntar valores de um atributo num intervalo leva à perda de informação!
MAP-i 2007/2008
45
Tratamento de valores numéricos
• Em Pré processamento:– Discretização em intervalos de valores. Ex: criar
intervalos onde é preservado o valor de classe.– Binarização; cada atributo é convertido em dois
valores. Há a selecção de um valor de corte.
• Durante o processamento (árvores de decisão):– Binarização: 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 transição entre valores de classe).
– Aplicação recursiva deste princípio.
MAP-i 2007/2008
46
Dados Numéricos
Age Colest Blood Class23 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
Discretização Supervisionada: Atributo especial comando o processo.Ex: Age: [23-23],[24-24],[27-29],[30-31],[33-33]Ou Age < 29, Age ≥ 29.
Não supervisionada: O processo é independente dos outros atributos.Ex: Age:[23-27],[29-31],[33-33]
MAP-i 2007/2008
47
Discretização
• Supervisionada:– Fayyad & Irani: Entropy oriented– Class intervals (caren)– Chi-Merge
• Não supervisionada:– Equi-depth (intervalos de igual nº de elementos)– Equi-width (intervalos de igual largura)– Srikant (caren)– K-means
MAP-i 2007/2008
48
Discretização Fayyad & Irani(em Pré-processamento)
• Ordenar os valores do atributo a discretizar,• Definir os cut points – ponto onde há alternância de classe,• Calcular Ganho Informativo para cada ponto:
• Escolher ponto com maior valor de Ganho,• Verificar se condição MDL é satisfeita
Se sim o processo pára,Senão aplicar recursivamente o processoà esquerda e direita do ponto escolhido.
MAP-i 2007/2008
49
Fayyad & Irani
• Condição Minimal Description Length:
N = #S, k = #classes, ki = #classes em Si
• Processo pára se a condição é satisfeita.
0.0 2.3 12.4 19.3 24.418.92.3
MAP-i 2007/2008
50
Discretização ChiMerge
• Juntar intervalos adjacentes que demonstram independência sobre o atributo classe.
• Medir independência através de um teste de Χ2. Escolher o par com menor valor da estatística.
• 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 unitário.
MAP-i 2007/2008
51
ChiMerge• Cálculo do Χ2
• Sendo:– k é número de classes– Aij é número de exemplos no intervalo i da classe j– Eij = #(intervalo i) x #(classe j) / N, ou seja frequência esperada.
• Graus de liberdade = (#intervalos -1) x (#classes -1)
• Se o teste indica dependência então a diferença na distribuição de classes entre os intervalos é estatisticamente significativa. Ou seja, os intervalos devem permanecer separados.
2
1 1
2)(2
i
k
jij
ijij
EA E
MAP-i 2007/2008
52
Discretização Srikant & Agrawal• Ocorre durante a execução do algoritmo de FIM.
• Inicia com um número pré-definido de intervalos. Este número é calculado usando uma medida de perda de informação (Partial Completeness).
• Fusão de intervalos adjacentes controlada pelo valor de suporte do intervalo obtido.
• Gera-se assim novos items que convivem com os intervalos iniciais.
• Ficamos com vários níveis de informação sobre o atributo numérico (com menor ou maior granularidade).
MAP-i 2007/2008
53
Fusão de Intervalos
Dom(X) = {1,2,3,4}
Intervalos base:X=[1,1], sup=0.1X=[2,2], sup=0.2X=[3,3], sup=0.2X=[4,4], sup=0.5
Então podemos ter:X=[1,2], sup=0.3X=[3,4], sup=0.7
Mas também:X=[1,3], sup=0.5X=[2,4], sup=0.9
e atéX=[1,4], sup=1
Não esquecer que estes intervalos só são gerados se não ultrapassarem o suportemáximo imposto pelo utilizar.
Há o problema da geração de demasiados items. Para n valores (ou intervalos) de umatributo temos potencialmente O(n^2) items que contêm um valor ou intervalo do atributo.
O mesmo pode acontecer com as regras em relação à confiança.
MAP-i 2007/2008
54
Partial Completeness
• P ⊆ C,• X ∈ P e X’ ⊆ X → X’ ∈ P,• X ∈ C, Z tal que:
– Z é uma generalização de X e s(Z) ≤ K x s(X),– Y ⊆ X Y’ tal que:
Y’ é uma generalização de Y e
s(Y’) ≤ K x s(Y).
Pretende-se avaliar o grau de perda de informação que surge com a definiçãode intervalos. Este medida permite definir o número ideal de intervalos em relação à perda admitida.
Seja C um conjunto de itemsets de um dataset D. Para um K > 1, dizemosque P é K-completo em relação a C se:
MAP-i 2007/2008
55
Exemplonum 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 generalização neste conjunto em que osuporte dessa generalização é superior nomáximo 1.5 vezes o suporte de X
Intervalos equi-depth (com o mesmo número de valores contínuos)minimizam o número de intervalos necessário para minimizar um dado nível K de partial completeness.
MAP-i 2007/2008
56
Número de Intervalos
)1(*
*2
kms
nnum
n é o número de atributos contínuos. ms é suporte mínimo
Quanto mais baixo o valor de completude K menor a perda de informaçãoe maior o número de intervalos.
Notar que, para controlar a fusão de intervalos usa-se um valor de suportemáximo que tipicamente, por omissão, é 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*2num
Intervalos base:
X=[1,2], X=[3,7], X=[9,9] Y=[11,13], Y=[15,18], Y=[23,23]
Se suporte máximo for 0.6 podemos obter por fusão:
X=[3,9] e Y=[15,23]
MAP-i 2007/2008
58
Geração de Regras de Associação para propriedades de interesse numéricas
Ideia geral: Ter regras em que o consequente é a representação de uma propriedade numérica.
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 Associação com propriedades numéricas (cont)
• Várias 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 numérica num sub população interessante. Diferentes propostas de noção de regra interessante.
MAP-i 2007/2008
60
Regras de Associação com propriedades numéricas (cont)
• Noção de sub população interessante.– QAR, usa um z-test para confirmar interesse (validade) da
regra. z-test entre meanJ(Tx) e mean(D-Tx) com α=0.05.
Regras do tipo: subset(X) MeanJ(Tx) onde
MeanJ(Tx) ≠ Mean(D-Tx)
z.test(μ0,observ,σ): Usado para encontrar diferenças significativas entre as médias μ0 e média da amostra.
Calcula a probabilidade de a média de uma amostra obtida assumindo a média e desvio padrão da população (μ0 e σ) seja maior do que a média observada - assume
distribuição Normal!
Permite concluir se a amostra pertence à população em estudo.
Complemento de Tx
MAP-i 2007/2008
61
Regras de Associação com propriedades numéricas (cont)
Impact Rules (Webb)• Interesse refere-se à noção de impacto. Optimização pesquisando-se impact rules que maximizam a definição de impacto.
• Uso de t-test para avaliar significância: tende para o z-test com o aumento do número de graus de liberdade. Mais adaptado para amostra pequenas. Procedimento de comparação de médias.
• Noção de Impacto:
))((cover ))(()Impact( x IRantpoiIRMeanIR
Média da prop. de interesse
MAP-i 2007/2008
62
Distribution Rules
• O consequente é uma distribuição,
• Uso do teste Kolmogorov-Smirnov, para avaliar se regra é interessante.
• Noção de interesse: Regra é interessante se o pi-value do
ks-test(apriori,rules-dist) < α
for menor que o valor α dado pelo utilizador.
Distribuição geral da população
Distribuição do subgrupo da regra
MAP-i 2007/2008
63
Ideia Geral
• Gerar regras de associação em que o consequente é a distribuição da propriedade numérica a estudar e o antecedente a descrição da sub população.
• Comparar distribuição apriori (da população geral) com a distribuição 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 distribuição da IDADE para a sub população (que representa 14,4% dos indivíduos estudados) que teve o tipo de AVC 1 e não é diabética.
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=Dy|A, its KS-interest is 1-p,
– p is the p-value of the KS test comparing Dy|A and Dy|
•KS-improvement• value added by the refinements of a rule• imp(AB) is min({KS-interest(AB) - KS-interest(AsB) | AsA})
MAP-i 2007/2008
66
Aplicações de Regras de Distribuição
• 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
Análise de Sub Grupos
• Por vezes é interessante analisar a distribuição dos valores de um atributo numérico.
• Queremos identificar sub populações que se distinguem em relação à população geral pela distribuição particular do atributo numérico.
• Aplicações naturais em dados médicos.
MAP-i 2007/2008
74
Análise de Distribuições
Aplicar testes de “Goodness of Fit”. (e.g. Kolmogorov-Smirnov).Compara distribuições segundo parâmetros tipo Skewness (grau de assimetria) e Kurtosis (grau de afunilamento)
Ant sup = 0.18593 KS = 0.000000005119Kurt = 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 Previsão com Regras de Associação
• Ver um conjunto de regras seleccionadas como um modelo de previsão.
• Para fazer previsão sobre um caso, usar as previsões derivadas das regras que cobrem esse caso.
• Usados em:– Sistemas de recomendação– Classificação– Previsão numérica
MAP-i 2007/2008
76
Classificação com Regras de Associação
• Os modelos são um conjunto seleccionado de regras de associação.
• Regras com um só consequente = classe (CAR rules).
• Várias propostas: CMAR, CBA, Apriori-C.• Vários métodos: BestRule, Votação,
Distribuição de classes,• Uso de diferentes métricas.• Implementação 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 previsão é o consequente desta regra,
– Rank é produzido pela seguinte ordenação:
)(minarg)(
rrankbestrulexFr
x
)()()()()()(
)()()()(
)()(
212121
2121
21
21
RantRantRsupRsupRmeasRmeas
orRsupRsupRmeasRmeas
orRmeasRmeas
ifRR
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 votação é ponderada pelo valor da medida
de interesse– Alternativamente, a votação é uniforme
MAP-i 2007/2008
79
Class Distribution
• Só aplicável em medidas de interesse com valores [0,1] (conf, laplace, etc)
• Votação idêntica aos métodos de voting.
• Noção de resíduo:– Residuo(r) = 1 – vote(r),– Os resíduos de um regra são uniformemente
distribuídos pelas classes não votadas pela regra,– Regras com o mesmo corpo são tratadas em bloco.
MAP-i 2007/2008
80
Selecção de Regras CAR
• Noção de cobertura do conjunto de treino1) Ordenar regras por ordem descendente de confiança
2) Para cada exemplo e ∈ Treino, e.count=0;
3) Enquanto conjunto Treino ≠ Ø e Regras ≠ Ø fazer1) Para cada r ∈ Regras
1) Encontrar todos os e que cobrem r 2) Se r classifica bem pelo menos um e 3) Então fazer e.count++ para todos e4) Seleccionar r e retirar de Regras
• Vários propostas: CBA os exemplos de treino são retirados assim que usados. CMAR tem a noção de cobertura δ. Os exemplos são retirados quando e.count > δ.
MAP-i 2007/2008
81
Selecção de regras• São seleccionadas as primeiras N regras que cobrem o
conjunto de treino (e com mais alta confiança)• CBA usa pessimistic error rate based pruning• CMAR aplica voting (selecção de várias regras que
cobrem o exemplo): Divide regras por grupos de classes que estas representam. Faz votação por Χ2 pesado (de cada grupo).
• Apriori-C usa subset feature selection – remoção 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
Composição de Modelos• A escolha de um só modelo levanta problemas
estatísticos (decisão sem suporte), computacionais (máximos locais) e de representação (a hipótese não está no espaço).
• Uso de múltiplos modelos tende a minimizar todos estes problemas.
• Combinação de predições:– Voting (ponderada)– Voting (uniforme)– Class distribuition (CAREN)
• Geração de Modelos Homogéneos– Bagging– Boosting
• Geração de Modelos Heterogéneos– Stacking
MAP-i 2007/2008
83
Bagging• Boostrapp AGGregation,• boostrapping dos vários conjuntos de treino,• Cada conjunto de treino (de tamanho igual ao dataset inicial) dá origem a um modelo,• (amostragem com substituição)• Previsão feita por votação uniforme.
• Funciona porque reduz a variabilidade dos modelosindividuais escolhendo o voto maioritário de muitos modelos.• Em árvores de decisão acontece:
• na escolha do um atributo de teste para um nó• na escolha dos cut-points nos atributos numéricos.
MAP-i 2007/2008
84
Bagging
D
S1
S2
Sn
M1
M2
Mn
pred1
pred2
predn
finalpredictionD
M1
M2
Mn
pred1
pred2
predn
finalpredictionR
Post Bagging
sampling voting
MAP-i 2007/2008
85
Post-Bagging (CAREN)
• Jorge & Azevedo (Discovery Science 05)
• Amostragem de regras em vez de casos,
• Não há necessidade de “relearning”,
• Conjunto de variantes sobre tipo de votos, e possibilidade de “don’t knows”,
• Baixa a componente de variância 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 distribuição dos exemplos (distribuição dada pelos pesos)• os pesos dos exemplos mal classificadossão incrementados para a próxima iteração.
• Os modelos gerados são agregados por votação pesada.• Há redução do bias e da variância.
MAP-i 2007/2008
87
Boosting (2)
• Weak learner que gera um hiper-plano paralelo a um dos eixos
+
--+
+
-
+
Treino
Treino
+
--+
-+
Decisão
Decisão
1ºIteração
2ºIteração
++
+
+
++
+
++
-
-
+
--+
++
Composição dosDois 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 rule’s accuracy• Support according to rule’s usage
– This yields a new ordering on the original set of rules
MAP-i 2007/2008
89
Iterative Reordering
D
r1r2r3r4
pred1 pred2 predn
finalprediction
r1r3r2r4
r2r3r1
r2r3
Rule generation
Re-evaluateRe-order
filter
Re-evaluateRe-order
filter
pred3
. . .
+ + +
T1 T2 T3Tn
MAP-i 2007/2008
90
Ensemble generation
• Updating interest
• support(Triali) = usage(Triali-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 (Kohavi’s 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
Conclusões
• Algoritmos para calcular associações entre elementos atómicos nos dados (items),
• Geração de Regras que descrevem associação entre elementos atómicos dos dados.
• Selecção de regras interessantes e significativas,
• Tratamento de dados não categóricos• Análise de propriedades de interesse
numéricas.• Previsão com regras de associação
top related