Aula 20: Regras de Associação Profa. Ms. Rosângela da Silva Nunes 1 de 22
Motivação 2 de 22
Market Basket Aplicações 43% das pessoas que compram computadores também compram software de gestão financeira Web Mining 45% dos visitantes que acessam páginas sobre Voleibol também acessam páginas sobre Handebol Medicina doenças coronárias IF SEX = M PSTROKE = Y 250 <= CHOL < 500 THEN not (0 <= LAD < 50), s=0.01 c=0.73 3 de 22
Document 1 Document 2 Document 3 Representação dos dados Dados de transação Atributos assimétricos Apenas a presença(um valor diferente de zero) é importante team coach pla y ball score game wi n lost timeout 3 0 5 0 2 6 0 2 0 2 0 0 7 0 2 1 0 0 3 0 0 1 0 0 1 2 2 0 3 0 season TID Items 1 Bread, Coke, Milk 2 Beer, Bread 3 Beer, Coke, Diaper, Milk 4 Beer, Bread, Diaper, Milk 5 Coke, Diaper, Milk 4 de 22
Conjunto de itens I = {i1, i2,., in} Exemplo: Conceitos básicos I = {Bread, Milk, Beer, Eggs, Diaper, Coke} Conjunto de transações D = {T1, T2,., Tn} TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke 5 de 22
Conceitos básicos Seja A um conjunto de itens: A I Uma transação T contém A se, somente se, TID Items A T Exemplo T = {Bread, Diaper, Beer, Eggs} A = {Bread, Diaper} 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke 6 de 22
Regra de associação Conceitas básicos A B, onde A I, B I e A B = φ Implicação significa co-ocorrência e não causalidade 7 de 22
Conceitos básicos Exemplo A = {Milk, Beer} B = {Diaper} {Milk, Beer} TID Items {Diaper} 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke 8 de 22
Conjuntos de itens (itemsets) Seja um conjunto de itens I = {i1, i2,., in} Um conjunto S I é um item set S = k, então S é um k-itemset 9 de 22
Conjunto de itens I = {Bread, Milk, Beer, Eggs, Diaper, Coke} A = {Bread} é um 1-itemset B = {Milk, Coke} é um 2-itemset C = {Beer, Bread, Coke} é um 3-itemset 10 de 22
Contador de suporte Número de transações que contém um itemset σ(x) = {T X T, T D} Exemplo X= {Bread, Milk} σ(x) = 3 TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke 11 de 22
Suporte de uma regra de associação Seja a regra de associação A Suporte s é a porcentagem de transações em D que contém A B S = P(A B) = σ(α Β)/Ν, onde N é o número de transações Exemplos {Bread} {Beer} σ({bread} {Beer}) = 2 s = 2/5 = 0.4 TID B Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke 12 de 22
Confiança de uma regra de associação Seja a regra de associação A Confiança c é a porcentagem de transações em D que contém A e também contém B S = P(A B) = σ(α Β)/σ(Α) Exemplos {Bread} {Beer} σ({bread} {Beer} = 2 σ({bread} = 4 c = 2/4 = 0.5 B 13 de 22
Suporte e confiança Suporte Regra com baixo suporte Pode ser coincidência Pode não ter interesse Muitas vezes é usada para eliminar regras sem interesse Confiança Mede a confiabilidade de inferência feita pela regra 14 de 22
Formulação do problema Dado um conjunto de transações D, encontre todas as regras que tenham suporte minsup e confiança minconf onde minsup e minconf são os limites de suporte e confiança correspondentes Frequent itemset Satisfaz minsup Regras fortes Satisfazem minsup e minconf 15 de 22
Minerando regras de associação Exemplo de regras {Milk, Diaper} {Beer} (s=0.4, c=0.67) {Milk, Beer} {Diaper} (s=0.4, c=1.0) {Diaper, Beer} {Milk} (s=0.4, c=0.67) {Beer} {Milk, Diaper} (s=0.4, c=0.67) {Diaper} {Milk., Beer} (s=0.4, c=0.5) {Milk} {Diaper, Beer} (s=0.4, c=0.5) 16 de 22
Minerando regras de associação Todas as regras são partições binárias do mesmo itemsetn {Milk, Diaper, Beer} Regras originadas do mesmo itemset possuem o mesmo suporte mas a confiança podm ser diferentes Então, podemos desacoplar os requisitos de confiança e suporte 17 de 22
Minerando regras de associação Passo 1 Gerar todos os frequente itemset Encontrar todos os itemsets que satisfazem minsup Passo 2 Gerar regras de associação fortes Extrair todas as regras dos itemsets gerados no passo 1 que satisfazem minconf Obs. A performance é determinada pelo passo 1 18 de 22
Passo 1 Geração dos frequent itemsets Método da força bruta Calcular o contador de suporte para cada itemset candidato σ(x), onde X é um itemset candidato TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke 19 de 22
Complexidade computacional Complexidade ~O(NMw) Abordagem custosa M = 2 d 1, onde d = I N Transactions TID Items 1 Bread, Milk 2 Bread, Diaper, Beer, Eggs 3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer 5 Bread, Milk, Diaper, Coke w List of Candidates M 20 de 22
21 de 22 Complexidade computacional Seja d o número de itens Número total de possíveis itemsets 2 d 1 Número total de possíveis regras de associação 1 2 3 1 1 1 1 + = = + = = d d d k k d j j k d k d R Se d=6, R = 602 regras
Estratégias para geração dos frequent itemsets Reduzir o número de candidatos (M) Busca Completa: M = 2 d Usar técnicas de poda para reduzir M Reduzir o número de comparações (NM) Evitar corresponder cada conjunto de itens candidatos com cada transação Uso de estruturas de dados eficientes para armazenar os candidatos e transações 22 de 22