regras de associação - mineração de dados
DESCRIPTION
Slide utilizado na disciplina de Mineração de Dados como parte da avaliação.TRANSCRIPT
![Page 1: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/3.jpg)
3 /Nunes & Guimarães 38
Motivação
![Page 4: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/31.jpg)
32 /Nunes & Guimarães 38
Poda baseada em suporte
![Page 32: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/32.jpg)
33 /Nunes & Guimarães 38
Ilustração do Princípio Apriori
![Page 33: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/33.jpg)
34 /Nunes & Guimarães 38
O Algoritmo Apriori
![Page 34: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/38.jpg)
39 /Nunes & Guimarães 38
Apriori-gen – passo de join
![Page 39: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/39.jpg)
40 /Nunes & Guimarães 38
Apriori gen – passo de poda
![Page 40: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/40.jpg)
41 /Nunes & Guimarães 38
O Algoritmo Apriori
![Page 41: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/46.jpg)
47 /Nunes & Guimarães 38
Poda baseada em confiança
![Page 47: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/47.jpg)
48 /Nunes & Guimarães 38
Geração de regras
![Page 48: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/48.jpg)
49 /Nunes & Guimarães 38
Geração de regras
![Page 49: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/49.jpg)
50 /Nunes & Guimarães 38
Procedimento ap-genrules
![Page 50: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/55.jpg)
56 /Nunes & Guimarães 38
Computando a tabela de contingência
• {Milk, Beer} → {Diaper}
![Page 56: Regras de Associação - Mineração de Dados](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/57.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062300/557cd334d8b42a4b6b8b4633/html5/thumbnails/58.jpg)
59 /Nunes & Guimarães 38
Dúvidas??Sugestões??
Críticas??