58
1 / Nunes & Guimarães 38 Regras de Associação Profª. Rosângela Nunes Prof. Norton Guimarães

Regras de Associação - Mineração de Dados

Embed Size (px)

DESCRIPTION

Slide utilizado na disciplina de Mineração de Dados como parte da avaliação.

Citation preview

Page 1: Regras de Associação - Mineração de Dados

1 /Nunes & Guimarães 38

Regras de Associação

Profª. Rosângela Nunes

Prof. Norton Guimarães

Page 2: Regras de Associação - Mineração de Dados

2 /Nunes & Guimarães 38

Agenda

Motivação

Definição

Conceitos básicos

Minerando Regras de Associação

Algoritmo Apriori

Geração de regras de Associação

Avaliação das regras

Page 3: Regras de Associação - Mineração de Dados

3 /Nunes & Guimarães 38

Motivação

Page 4: Regras de Associação - Mineração de Dados

4 /Nunes & Guimarães 38

Aplicações

Market Basket

43% das pessoas que compram computadores também compram software de gestão financeira

Web Mining45% dos visitantes que acessam páginas sobre Voleibol também acessam páginas sobre Handebol

Page 5: Regras de Associação - Mineração de Dados

5 /Nunes & Guimarães 38

Agenda

Motivação

Definição

Conceitos básicos

Minerando Regras de Associação

Algoritmo Apriori

Geração de regras de Associação

Avaliação das regras

Page 6: Regras de Associação - Mineração de Dados

6 /Nunes & Guimarães 38

Definição

Padrões que aparecem frequentemente num conjunto de dados

Page 7: Regras de Associação - Mineração de Dados

7 /Nunes & Guimarães 38

Agenda

Motivação

Definição

Conceitos básicos

Minerando Regras de Associação

Algoritmo Apriori

Geração de regras de Associação

Avaliação das regras

Page 8: Regras de Associação - Mineração de Dados

8 /Nunes & Guimarães 38

Representação dos dados

• Dados de transação

• Atributos assimétricos• Apenas a presença(um valor diferente de

zero) é importante

Page 9: Regras de Associação - Mineração de Dados

9 /Nunes & Guimarães 38

Conceitos básicos

• Conjunto de itens• I = {i1, i2, …., in}• Exemplo:• I = {Bread, Milk, Beer, Eggs, Diaper, Coke}

• Conjunto de transações• D = {T1, T2, …., Tn}

Page 10: Regras de Associação - Mineração de Dados

10 /Nunes & Guimarães 38

Conceitos básicos

• Seja A um conjunto de itens:• Uma transação T contém A se, somente se,

• Exemplo• T = {Bread, Diaper, Beer, Eggs}• A = {Bread, Diaper}

IA

TA

Page 11: Regras de Associação - Mineração de Dados

11 /Nunes & Guimarães 38

Conceitos básicos

• Regra de associação

Implicação significa co-ocorrência e não causalidade

BAIBIABA e e onde ,

Page 12: Regras de Associação - Mineração de Dados

12 /Nunes & Guimarães 38

Conceitos básicos

• Exemplo• A = {Milk, Beer}• B = {Diaper}• {Milk, Beer} → {Diaper}

Page 13: Regras de Associação - Mineração de Dados

13 /Nunes & Guimarães 38

Conjunto de itens (Itemsets)

• Seja um conjunto de itens• I = {i1, i2, …., in}

• Um conjunto é um itemset• |S| = k, então S é um k-itemset

IS

Page 14: Regras de Associação - Mineração de Dados

14 /Nunes & Guimarães 38

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

Page 15: Regras de Associação - Mineração de Dados

15 /Nunes & Guimarães 38

Contador de suporte

• Número de transações que contém um itemset

• Exemplo

X= {Bread, Milk}• σ(X) = 3

|},|{|)( DTTXTX

Page 16: Regras de Associação - Mineração de Dados

16 /Nunes & Guimarães 38

Suporte de uma regra de associação

• Seja a regra de associação A → B• Suporte s é a porcentagem de transações em

D que contém A U B

• S = P(A U B) = σ(A U B)/N, onde N é o número de transações

Page 17: Regras de Associação - Mineração de Dados

17 /Nunes & Guimarães 38

Suporte de uma regra de associação

• Exemplos• {Bread} → {Beer}• σ({Bread} U {Beer}) = 2• s = 2/5 = 0.4

Page 18: Regras de Associação - Mineração de Dados

18 /Nunes & Guimarães 38

Confiança de uma regra de associação

• Seja a regra de associação A → B

• Confiança c é a porcentagem de transações em D que contém A e também contém B

• c = P(B | A) = σ(A U B)/ σ(A)

Page 19: Regras de Associação - Mineração de Dados

19 /Nunes & Guimarães 38

Confiança de uma regra de associação

• Exemplos• {Bread} → {Beer}• σ({Bread} → {Beer} = 2 • σ({Bread} = 4• c = 2/4 = 0.5

Page 20: Regras de Associação - Mineração de Dados

20 /Nunes & Guimarães 38

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

• Frequente itemset: Satisfaz minsup

• Regras fortes: Satisfazem minsup e minconf

Page 21: Regras de Associação - Mineração de Dados

21 /Nunes & Guimarães 38

Agenda

Motivação

Definição

Conceitos básicos

Minerando Regras de Associação

Algoritmo Apriori

Geração de regras de Associação

Avaliação das regras

Page 22: Regras de Associação - Mineração de Dados

22 /Nunes & Guimarães 38

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)

Page 23: Regras de Associação - Mineração de Dados

23 /Nunes & Guimarães 38

Minerando regras de associação

Todas as regras são partições binárias do mesmo itemset: {Milk, Diaper, Beer}

• Regras originadas do mesmo itemset possuem o mesmo suporte mas a confiança podem ser diferentes

• Então, podemos desacoplar os requisitos de confiança e suporte

Page 24: Regras de Associação - Mineração de Dados

24 /Nunes & Guimarães 38

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

Page 25: Regras de Associação - Mineração de Dados

25 /Nunes & Guimarães 38

Complexidade computacional

• Complexidade ~O(NMw)

• Abordagem custosa• M = 2d – 1, onde d = |I|

Page 26: Regras de Associação - Mineração de Dados

27 /Nunes & Guimarães 38

Estratégias para geração dos frequente itemsets

• Reduzir o número de candidatos (M)• Busca Completa: M = 2d

• 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

Page 27: Regras de Associação - Mineração de Dados

28 /Nunes & Guimarães 38

Agenda

Motivação

Definição

Conceitos básicos

Minerando Regras de Associação

Algoritmo Apriori

Geração de regras de Associação

Avaliação das regras

Page 28: Regras de Associação - Mineração de Dados

29 /Nunes & Guimarães 38

Princípio Apriori

“ Se um itemset é frequente, então todos os seus subconjuntos também devem ser

frequentes”

Page 29: Regras de Associação - Mineração de Dados

30 /Nunes & Guimarães 38

Princípio Apriori

• X = {Bread, Milk, Diaper} (s = 0.4)• X1 = {Bread, Milk} (s = 0.6)• X2 = {Bread, Diaper} (s = 0.6)• X3 = {Milk, Diaper} (s = 0.6)• X4 = {Bread} (s = 0.8)• X5 = {Milk} (s = 0.8)• X6 = {Diaper} (s = 0.8)

Page 30: Regras de Associação - Mineração de Dados

31 /Nunes & Guimarães 38

Poda baseada em suporte

• Se um itemset for infrequente, então todos os seus superconjuntos devem ser infrequentes também.

• Propriedade anti-monotônica da medida de suporte:

Page 31: Regras de Associação - Mineração de Dados

32 /Nunes & Guimarães 38

Poda baseada em suporte

Page 32: Regras de Associação - Mineração de Dados

33 /Nunes & Guimarães 38

Ilustração do Princípio Apriori

Page 33: Regras de Associação - Mineração de Dados

34 /Nunes & Guimarães 38

O Algoritmo Apriori

Page 34: Regras de Associação - Mineração de Dados

35 /Nunes & Guimarães 38

Características do Apriori

• Algoritmo de níveis• Percorre um nível por vez• Conjuntos de 1 item ao tamanho máximo de

itens frequentes

• Estratégia de geração-e-teste• A cada iteração novos conjuntos de itens

candidatos são gerados a partir dos conjuntos de itens frequentes encontrados na iteração anterior

Page 35: Regras de Associação - Mineração de Dados

36 /Nunes & Guimarães 38

Geração de Candidatos - requisitos• Evitar geração excessiva de candidatos

• Excluir candidatos se pelo um item é infrequentes

• Assegurar que o conjunto candidato seja completo• Incluir o conjunto de todos os conjuntos de

itens frequentes

• Não gerar o mesmo conjunto de itens candidatos mais de uma vez

Page 36: Regras de Associação - Mineração de Dados

37 /Nunes & Guimarães 38

Métodos para geração de candidatos – Fk-1 x Fk-1

Page 37: Regras de Associação - Mineração de Dados

38 /Nunes & Guimarães 38

Apriori-gen

• Geração de candidatos• Passo de união (join)• Ck é gerado, unindo Lk-1 com ele mesmo

• Poda de candidatos• Passo de poda (prune)• Qualquer (k-1)-itemset que não seja

frequente, não pode ser um subconjunto de um k-itemset frequente

Page 38: Regras de Associação - Mineração de Dados

39 /Nunes & Guimarães 38

Apriori-gen – passo de join

Page 39: Regras de Associação - Mineração de Dados

40 /Nunes & Guimarães 38

Apriori gen – passo de poda

Page 40: Regras de Associação - Mineração de Dados

41 /Nunes & Guimarães 38

O Algoritmo Apriori

Page 41: Regras de Associação - Mineração de Dados

42 /Nunes & Guimarães 38

Agenda

Motivação

Definição

Conceitos básicos

Minerando Regras de Associação

Algoritmo Apriori

Geração de regras de Associação

Avaliação das regras

Page 42: Regras de Associação - Mineração de Dados

43 /Nunes & Guimarães 38

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

Page 43: Regras de Associação - Mineração de Dados

44 /Nunes & Guimarães 38

Geração de regras

• K-itemset pode produzir até 2k – 2 regras de associação

E: 3-itemset: {1, 2, 3}

{1,2} → {3} {1,3} → {2}

{2,3} → {1} {1} → {2,3}

{2} → {1,3} {3} → {1,2}

Page 44: Regras de Associação - Mineração de Dados

45 /Nunes & Guimarães 38

Cálculo da Confiança

• Não há necessidade de percorrer o banco de dados. Por quê?

• Ex:

• Itemset= {1,2,3}

• Regra: {1,2} → {3}

• Confiança = σ({1,2,3}) / σ({1,2})

Page 45: Regras de Associação - Mineração de Dados

46 /Nunes & Guimarães 38

Poda baseada em confiança

• Se uma regra X → Y – X não satisfazer o limite de confiança, então qualquer regra X' → Y – X', onde X' X, não deve satisfazer o limite de confiança também

• Como σ(X') ≥ σ(X) então• σ(Y) / σ(X') ≤ σ(Y) / σ(X)

Page 46: Regras de Associação - Mineração de Dados

47 /Nunes & Guimarães 38

Poda baseada em confiança

Page 47: Regras de Associação - Mineração de Dados

48 /Nunes & Guimarães 38

Geração de regras

Page 48: Regras de Associação - Mineração de Dados

49 /Nunes & Guimarães 38

Geração de regras

Page 49: Regras de Associação - Mineração de Dados

50 /Nunes & Guimarães 38

Procedimento ap-genrules

Page 50: Regras de Associação - Mineração de Dados

51 /Nunes & Guimarães 38

Exemplo

• minconf = 60%

• Dado o 3-itemset {b,d,e} σ({b,d,e}) = 4• H1 : {{e} , {d}, {b}}

• {b,d} → {e} c = 4/7 = 0,57• {b,e} → {d} c = 4/4 = 1• {d,e} → {b} c = 4/6 = 0,66

Page 51: Regras de Associação - Mineração de Dados

52 /Nunes & Guimarães 38

Exemplo

• minconf = 60%

• Dado o 3-itemset {b,d,e} σ({b,d,e}) = 4

• H2 : { {b,d}}

• e → {b,d} c = 4/7 = 0,57

Page 52: Regras de Associação - Mineração de Dados

53 /Nunes & Guimarães 38

Agenda

Motivação

Definição

Conceitos básicos

Minerando Regras de Associação

Algoritmo Apriori

Geração de regras de Associação

Avaliação das regras

Page 53: Regras de Associação - Mineração de Dados

54 /Nunes & Guimarães 38

Avaliação de padrões• Algoritmos de regras de associação

tendem a produzir muitas regras• Muitas delas são desinteressantes ou

redundantes• Redudantes: se {A,B,C} → {D} e {A,B} → {D}

possuem o mesmo suporte e confiança

• Medidas podem ser usadas para podar/classificar os padrões derivados• Na formulação original – suporte e confiança

são as únicas medidas usadas

Page 54: Regras de Associação - Mineração de Dados

55 /Nunes & Guimarães 38

Tabela de Contingência

• Dada uma regra X → Y, a informação necessária para computar regras de interesse podem ser obtidas com a tabela de contingência

Page 55: Regras de Associação - Mineração de Dados

56 /Nunes & Guimarães 38

Computando a tabela de contingência

• {Milk, Beer} → {Diaper}

Page 56: Regras de Associação - Mineração de Dados

57 /Nunes & Guimarães 38

Limitações da Confiança

• Avaliando {Chá} → {Café}• Suporte({Chá, Café}) = 150/1000 = 0,15

• Confiança ({Chá} → {Café}) = 150/200 = 0,75

• Proporção de pessoas que bebem chá e café é na verdade bem menor que a proporção geral das pessoas que bebem café• Relacionamento inverso: {Café} → {Chá}

• Confiança({Café} → {Chá}) = 150/800 = 0,20

Page 57: Regras de Associação - Mineração de Dados

58 /Nunes & Guimarães 38

Exemplos de medidas• Literatura propões

diversas medidas

• Algumas medidas são boas para algumas aplicações mas não para outras

• Como determinar a melhor medida?

Page 58: Regras de Associação - Mineração de Dados

59 /Nunes & Guimarães 38

Dúvidas??Sugestões??

Críticas??