Regras de Associação Paulo J Azevedo DI - Universidade do Minho 2007-2008 Detecção de associações nos dados 1 MAP-i 2007/2008 Sumário • • • Motivação Introdução às regras de associação Algoritmos para cálculo de termos frequentes – • Representações Verticais – • • • • • • • Apriori e outras variantes Breath-first 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 2 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 ite m • 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 3 MAP-i 2007/2008 Como expressar a informação extraída ? • Regras que relacionam produtos (items), Qualidade das regras expressa por medidas estatísticas. 901 & 1661 67 Há um número explosivo de potenciais regras que podem ser derivadas! Todas as regras ? Qual o procedimento eficiente a aplicar? Como obter ? Como seleccionar ? Como discriminar regras “boas” de “más” ? Como organizar ? MAP-i 2007/2008 4 Podemos ver o problema pela perspectiva do espaço de pesquisa a explorar ABCD Set indica inclusão matemática Itemset ABC AB ABD AC A ACD AD B BCD BC C BD CD D Item 5 MAP-i 2007/2008 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: 901 & 707 1088 (sup=0.3,conf=0.9) • 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. 6 MAP-i 2007/2008 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, 7 MAP-i 2007/2008 Application: Recommendations using AR click stream C D A B index.html Obs.: A E Recommendations (top 2): D Rules: F D (conf: 0,8) A B A E D (conf: 0,7) A D F (conf: 0,6) A D (conf: 0,5) D X (conf: 0,4) MAP-i 2007/2008 F (0,6) X (0,4) 8 TTR Hydrophobic Clusters detection Sup = 0.34821 Conf = 1.00000 LEU_12=[00.00 : 25.00[ <-- Leu 12 % SASA 100 75 PHE_64=[00.00 : 25.00[ & 50 MET_13=[00.00 : 25.00[ & 25 ALA_97=[00.00 : 25.00[ A 0 0 2 4 6 8 Met 13 L12 - M13 25 Distance (Å) % SASA 100 75 50 25 0 0 2 4 6 20 15 10 5 0 8 0 Phe 64 2 4 6 8 L12 - F64 25 Distance (Å) % SASA 100 75 50 25 0 0 2 4 6 20 15 10 5 0 8 0 Ala 97 2 4 6 8 L12 - A97 25 Distance (Å) % SASA 100 75 50 25 0 0 2 4 6 8 20 15 10 5 0 0 Time (ns) 2 4 6 8 Time (ns) 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[ 9 MAP-i 2007/2008 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. 10 MAP-i 2007/2008 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) 11 MAP-i 2007/2008 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 os candidatos a contar. Só são considerados candidatos que obedecem à propriedade anti-monótona (é candidato se todos os seus subconjuntos são frequentes!) MAP-i 2007/2008 12 Aplicação da Propriedade Anti-monótona ABCD ABC AB ABD AC A ACD AD B BCD BC C BD CD D Infrequente 13 MAP-i 2007/2008 Apriori “in action…” 14 MAP-i 2007/2008 Tipos de Algoritmos para Cálculo de termos frequentes (FIM) • Breath-First • Depth-First Apriori FP-growth Partition Inverted Matrix Dic Eclat Sampling Depth-first expansion (CAREN) 15 MAP-i 2007/2008 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. 16 MAP-i 2007/2008 Algoritmo Partition(2) • Filtragem de candidatos globais 17 MAP-i 2007/2008 Algoritmo Dynamic Itemset Counting (DIC) Diminuir o número de passagems pelo dataset usando a ideia de iniciar a contagem do N-itemset quando todos os seus subconjuntos (N-1)-itemsets já são frequentes. 18 MAP-i 2007/2008 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 19 MAP-i 2007/2008 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,…] 20 MAP-i 2007/2008 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” Contar bits ligados sup(I) = bitcount(bitmap(I)) bitmap(A U B) = bitmap(A) & bitmap(B) Bitwise logical and MAP-i 2007/2008 21 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) •Inicialmente temos – s(AB) = s(A) - #ds(AB) diffsets < tidlists •Ficam mais pequenos – ds(ABC) = ds(AC) – ds(AB) conforme os itemsets se tornam mais longos – 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. MAP-i 2007/2008 22 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. transacção 1 Itemset ABCE 1 2 3 4 5 200 201 0 0 1 0 1 Ocorrência nessa transacção MAP-i 2007/2008 0 23 Representações condensadas de termos frequentes • • • • All itemsets frequentes (FIS) Itemsets máximos (MIS) Closed itemsets (CIS) Free-sets (FS) Maximal Patterns Closed Patterns All Patterns Em certas aplicações é viável calcular versões condensadas dos itemsets. Simplifica-se o cálculo e evita-se alguma redundância. 24 MAP-i 2007/2008 Formatos Condensados • Maximal itemsets I é máximo se: a I : sup(a) ms • Closed itemsets I é um closed itemset se: s I : sup(s) ms & sup(s) sup(I ) ou se I J Jcover(I) O suporte dos itemsets frequentes que não são “closed” 25 são determinados pelos closed patterns. MAP-i 2007/2008 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 X 1 X , sup( X ) sup( X 1) 26 MAP-i 2007/2008 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, sup( XYZ) sup( XY ) sup( XZ ) sup( X ) – (support inference) Sejam X,Y,Z itemsets, sup( XY ) sup( X ) sup( XYZ) sup( XZ ) 27 MAP-i 2007/2008 Exemplos de regras Association Rules ... Sup = 0.01500 Sup = 0.03900 Sup = 0.01000 Sup = 0.01000 Conf = 0.37500 Conf = 0.30000 Conf = 0.28571 Conf = 0.28571 oranges oranges oranges oranges bananas & peaches peaches bananas & potatoes 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 28 MAP-i 2007/2008 Medidas de Interesse • • • • • • Lift Conviction Leverage Χ2 Reliability etc conf ( A C ) Lift ( A C ) s(C ) 1 s(C ) conv( A C ) 1 conf ( A C ) leve( A C ) s( A C ) s( A) * s(C ) R( A C) conf ( A C) s(C) Teste de Χ2 entre antecedente e consequente 29 MAP-i 2007/2008 Medidas de Interesse (2) Confiança: • mede probabilidade condicional conf ( A C ) P(C) dado A •Tende a dar ênfase a regras não correlacionadas (spurious rules). Laplace: • estimador da confiança que tem lapl( A C ) em conta o suporte • torna-se mais pessimista com o valores de s(A) mais pequenos • sofre dos mesmos problemas da confiança Lift: • Mede a distância para a independência entre A e C • varia entre [0, +oo[ • Valor 1 independência, • Valores longe de 1 indicam que a evidencia de A fornece informação sobre C. • mede co-ocorrência (não implicação) • é simétrica! MAP-i 2007/2008 Lift ( A C ) s( A C ) s( A) s( A C ) 1 s ( A) 2 conf ( A C ) s(C ) 30 Medidas de Interesse (3) 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. 1 s(C ) conv( A C ) 1 conf ( A C ) Leverage: • varia entre ]-0.25,0.25[ • mede o número de casos extra obtidos em relação ao esperado (à independência) leve( A C ) s( A C ) s( A) s(C ) Teste do χ2: •Mede independência estatística entre antecedente e consequente • não captura a força da correlação entre A e C • Apenas suporta a decisão de independência MAP-i 2007/2008 2 n riR (O(r ) E[r ]) 2 E[r ] 31 Medidas de Interesse (4) Jaccard: •. mede grau de “overlap” (sobreposição) entre os casos de A e os casos de C • varia entre [0,1] • mede a distância entre A e C pela fracção entre os casos cobertos pelos dois e os caso cobertos por um só (A ou C). • valores altos indicam sobreposição de casos cobertos. 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 32 Problemas da métrica Confiança 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: s( A C ) s( A) s(C ) Noutros casos podemos ter dependência positiva/negativa. Podemos usar uma medida de X^2 para medir correlação Entre antecedente e consequente. 2 n riR (O(r ) E[r ]) 2 E[r ] 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 33 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! 34 MAP-i 2007/2008 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 35 MAP-i 2007/2008 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) 36 MAP-i 2007/2008 Pruning de Regras Problema de improvement nas regras Conf = 0.300 Conf = 0.315 oranges oranges bananas & peaches peaches Noção de improvement: uma regra mais especifica tem de produzir uma mais valia em termos de valor de medida de interesse. imp( A C ) min(A' A : met ( A C ) met ( A' C )) met pode ser ={conf,lift,conv,X^2,etc} Se o improvement > 0 dizemos que são regras productivas. 37 MAP-i 2007/2008 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 38 MAP-i 2007/2008 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 A C sucesso #casos (antsup=272,sup=255,conf=0.938) (antsup=333,sup=302,conf=0.907) H.nula H.alternativa 1-α • 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. 39 MAP-i 2007/2008 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) 40 MAP-i 2007/2008 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 41 MAP-i 2007/2008 Significant Patterns (2) • Usa o Exact Fisher Test, – p-value(x y, x–z y): p min(b ,c ) i 0 (a b)!(c d )!(a c)!(b d )! (a b c d )!(a i)!(b i)!(c i)!(d i)! – Aceitar x y se p-value ≤ α 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). • 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!! MAP-i 2007/2008 42 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, k max(1 j i p j ) n j 1 43 MAP-i 2007/2008 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! 44 MAP-i 2007/2008 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. 45 MAP-i 2007/2008 Dados Numéricos 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 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 46 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 47 MAP-i 2007/2008 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. 48 MAP-i 2007/2008 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 2.3 12.4 18.9 19.3 24.4 49 MAP-i 2007/2008 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. 50 MAP-i 2007/2008 ChiMerge • Cálculo do Χ2 ( Aij Eij ) i 1 j 1 Eij 2 2 k 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. 51 MAP-i 2007/2008 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). 52 MAP-i 2007/2008 Fusão de Intervalos Dom(X) = {1,2,3,4} Intervalos base: X=[1,1], X=[2,2], X=[3,3], X=[4,4], sup=0.1 sup=0.2 sup=0.2 sup=0.5 Então podemos ter: X=[1,2], sup=0.3 X=[3,4], sup=0.7 Mas também: X=[1,3], sup=0.5 X=[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 suporte máximo imposto pelo utilizar. Há o problema da geração de demasiados items. Para n valores (ou intervalos) de um atributo 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. 53 MAP-i 2007/2008 Partial Completeness Pretende-se avaliar o grau de perda de informação que surge com a definição de 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, dizemos que P é K-completo em relação a C se: • • • 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). 54 MAP-i 2007/2008 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 generalização neste conjunto em que o suporte dessa generalização é superior no má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. 55 MAP-i 2007/2008 Número de Intervalos 2*n num ms * ( k 1) 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ção e maior o número de intervalos. Notar que, para controlar a fusão de intervalos usa-se um valor de suporte máximo que tipicamente, por omissão, é igual a ms. 56 MAP-i 2007/2008 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 2*2 num 3 (0.2 * 7) 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] 57 MAP-i 2007/2008 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) 58 MAP-i 2007/2008 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. 59 MAP-i 2007/2008 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. Complemento de Tx 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. 60 MAP-i 2007/2008 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. Média da prop. de interesse • Noção de Impacto: Impact(IR) (Mean(IR) poi) x cover(ant(IR)) 61 MAP-i 2007/2008 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 Distribuição geral Distribuição do da população subgrupo da regra ks-test(apriori,rules-dist) < α for menor que o valor α dado pelo utilizador. 62 MAP-i 2007/2008 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 63 1 e não é diabética. MAP-i 2007/2008 Distribution Rule presentation • property of interest • each DR is a plot • distribution plot – frequency polygon – static binning • distribution statistics • comparison with default distribution 64 MAP-i 2007/2008 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}) 65 MAP-i 2007/2008 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 66 MAP-i 2007/2008 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 67 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 68 MAP-i 2007/2008 Using Distribution Rules • antecedent – married males • consequent – less interesting – still signif. different 69 MAP-i 2007/2008 Using Distribution Rules • antecedent – Occupation=Clerical • consequent – concentrated on lower income 70 MAP-i 2007/2008 Using Distribution Rules • antecedent – Occupation=Management • consequent – clearly better wage distribution – we also observe a slightly lifted right tail 71 MAP-i 2007/2008 Using Distribution Rules • antecedent – young people • consequent – lower wages, very concentrated – some secondary modes are suggested 72 MAP-i 2007/2008 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. 73 MAP-i 2007/2008 Análise de Distribuições 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 } 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) MAP-i 2007/2008 74 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 75 MAP-i 2007/2008 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 76 MAP-i 2007/2008 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, bestrule x arg min rank (r ) rF ( x ) – Rank é produzido pela seguinte ordenação: R1 R2 if m eas( R1 ) m eas( R2 ) or m eas( R1 ) m eas( R2 ) sup( R1 ) sup( R2 ) or m eas( R1 ) m eas( R2 ) sup( R1 ) sup( R2 ) ant( R1 ) ant( R2 ) MAP-i 2007/2008 77 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 78 MAP-i 2007/2008 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. 79 MAP-i 2007/2008 Selecção de Regras CAR • Noção de cobertura do conjunto de treino 1) 2) 3) Ordenar regras por ordem descendente de confiança Para cada exemplo e ∈ Treino, e.count=0; Enquanto conjunto Treino ≠ Ø e Regras ≠ Ø fazer 1) Para cada r ∈ Regras 1) 2) 3) 4) • Encontrar todos os e que cobrem r Se r classifica bem pelo menos um e Então fazer e.count++ para todos e 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 > δ. 80 MAP-i 2007/2008 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 81 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 82 MAP-i 2007/2008 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 modelos individuais 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. 83 MAP-i 2007/2008 Bagging Post Bagging S1 D sampling M1 pred1 SR2 M2 pred2 Sn Mn predn voting final prediction 84 MAP-i 2007/2008 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. 85 MAP-i 2007/2008 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 classificados sã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. 86 MAP-i 2007/2008 Boosting (2) • Weak learner que gera um hiper-plano paralelo a um dos eixos 1ºIteração + + + + - + + + - Treino + + + + Decisão + 2ºIteração + Treino + + + - - + + + + - - Composição dos Dois modelos - Decisão No limite, boosting consegue “cobrir” todos os casos, i.e. accuracy de treino = 1.0 MAP-i 2007/2008 87 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 88 MAP-i 2007/2008 Iterative Reordering D Rule generation T1 r1 r2 r3 r4 pred1 T2 Tn T3 Re-evaluate Re-order filter r1 r3 r2 r4 Re-evaluate Re-order filter + pred2 + r2 r3 r1 ... pred3 + MAP-i 2007/2008 r2 r3 predn final prediction 89 Ensemble generation • Updating interest • support(Triali) = usage(Triali-1) 90 MAP-i 2007/2008 IRE Algorithm 91 MAP-i 2007/2008 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 92 MAP-i 2007/2008 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 93 MAP-i 2007/2008 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 94 MAP-i 2007/2008