Problema da Regra de Associação

Propaganda
BANCO DE DADOS
DISTRIBUÍDOS e
DATAWAREHOUSING
Asterio K. Tanaka
http://www.uniriotec.br/~tanaka/tin0036
[email protected]
Introdução a Data Mining
Regras de Associação
Regras de Associação
Goal: Provide an overview of basic Association Rule
mining techniques
• Association Rules Problem Overview
– Large itemsets
• Association Rules Algorithms
–
–
–
–
Apriori
Sampling
Partitioning
Parallel Algorithms
• Comparing Techniques
• Incremental Algorithms
• Advanced AR Techniques
Exemplo: Cesta de supermercado
• Itens freqüentemente comprados juntos:
Pão ⇒ Manteiga
• Usos:
–
–
–
–
Colocação em prateleiras
Publicidade
Vendas
Promoções
• Objetivo: aumentar vendas e reduzir custos
Definições
•
•
•
•
Conjunto de itens: I={I1,I2,…,Im}
Transações: D={t1,t2, …, tn}, tj ⊆ I
Itemset: {Ii1,Ii2, …, Iik} ⊆ I
Suporte de um itemset: Percentagem de
transações que contém esse itemset.
• Itemset grande (freqüente): Itemset cujo
suporte está acima de mínimo (MinSup).
Association Rules Example
I = { Beer, Bread, Jelly, Milk, PeanutButter}
Support of {Bread,PeanutButter} is 60%
Association Rule Definitions
• Association Rule (AR): implication X ⇒
Y where X,Y ⊆ I and X ∩ Y = ∅;
• Support of AR (s) X ⇒ Y: Percentage of
transactions that contain X ∪Y
• Confidence of AR (α) X ⇒ Y: Ratio of
number of transactions that contain X ∪ Y
to the number that contain X
Regra de associação
• X ⇒ Y onde X,Y ⊆ I e X ∩ Y = ∅
• É o mesmo que “Se X Então Y”
• X é o antecedente da regra, Y é o seu
conseqüente
• Um algoritmo de regras de associação
consistem em descobrir regras desse tipo
entre os dados preparados para mineração.
{Pão} ⇒ {Leite, Manteiga} pode ser lido
como “Se Pão, Então Leite, Manteiga”
Suporte e Confiança
• Suporte (s) de X ⇒ Y
Número de transações que contêm X ∪Y
Número total de transações
• Confiança (α) de X ⇒ Y
Número de transações que contêm X ∪Y
Número de transações que contêm X
Os valores de suporte e de confiança são usados
para delimitar a busca de regras de associação
pelos algoritmos.
Association Rules Ex (cont’d)
Problema da Regra de Associação
• Dado um conjunto de itens I={I1,I2,…,Im} e uma
base de dados de transações D={t1,t2, …, tn} onde
ti={Ii1,Ii2, …, Iik} e Iij ∈ I, o Problema da Regra
de Associação é identificar todas as regras de
associação X ⇒ Y com um mínimo suporte e
confiança.
• É um problema de correlação de dados (Link
Analysis)
• NOTA: Suporte de X ⇒ Y é o mesmo que suporte
de X ∪ Y.
Técnicas de Regras de
Associação
Objetivos das técnicas
1. Encontrar Itemsets Grandes.
2. Gerar regras a partir dos Itemsets
Grandes.
Algoritmo A Priori
• Introduzido por Rakesh Agrawal e Ramakrishnan
Srikant: Fast algorithms for Mining Association
Rules, Conferência VLD, Santiago, Chile, 1994.
• O problema de descobrir RAs é decomposto em
dois subproblemas:
– Encontrar todos os conjuntos ou combinações de itens
(itemsets) que têm suporte acima do suporte mínimo, os
quais são chamados de Itemsets Grandes.
– Usar os Itemsets Grandes para gerar as regras com
confiança acima do valor mínimo estabelecido.
Algoritmo A Priori
• Notação
– K-itemset: um conjunto com k itens
– Lk: união de itemsets grandes de tamanho k, cada um
com dois atributos
• Conjunto de itens (itemset) e suporte
– Ck: união dos itemsets candidatos (potencialmente
grandes) de tamanho k, com os mesmos atributos.
Algoritmo A Priori
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
L1 := {itemsets grandes de tamanho 1}
para (k = 2; Lk-1 ; k++) faça
Ck := Gerar Candidatos (Lk-1)
para toda transação t ∈ D faça
Ct := subconjunto (Ck , t);
para todo candidato c ∈ Ct faça
c.count++;
fim
Lk := {c ∈ Ck tal que c.count >= MinSup}
fim;
Gerar Regras;
Algoritmo Apriori
Exemplo
Transação
Leite
Manteiga
Pão
1
1
1
0
2
1
0
1
3
1
1
1
4
1
1
1
5
0
1
1
6
1
1
1
7
1
1
1
8
1
0
1
9
1
1
1
10
1
1
1
Algoritmo Apriori
Geração dos Conjuntos
1-Itemset
Suporte
{Leite}
2-Itemset
{Leite, Manteiga}
{Manteiga}
{Leite, Pão}
{Pão}
{Manteiga, Pão}
3-Itemset
{Leite, Manteiga, Pão}
Suporte
Suporte
Algoritmo Apriori
Fase da Poda (“Pruning”)
• Large Itemset Property:
Any subset of a large itemset is large.
• Contrapositive:
If an itemset is not large,
none of its supersets are large.
Algoritmo para Gerar RAs
Geração das Regras
Regra
{Leite} Î {Manteiga}
{Manteiga} Î {Leite}
{Leite} Î {Pão}
{Pão} Î {Leite}
{Manteiga} Î {Pão}
{Pão} Î {Manteiga}
{Leite, Manteiga} Î {Pão}
{Pão} Î {Leite, Manteiga}
{Leite, Pão} Î {Manteiga}
{Manteiga} Î {Leite, Pão}
{Manteiga, Pão} Î {Leite}
{Leite} Î {Manteiga, Pão}
Confiança
Algoritmo Apriori Quantitativo
• Na proposta inicial, a quantidade adquirida de
cada item é ignorada.
• Que tal uma regra do tipo:
– 70% das pessoas que compram entre 1 a 3 litros de leite
também compram de 5 a 10 pães.
• As medidas de suporte e confiança continuam
sendo importantes, mas a informação extra das
quantidades acrescenta uma nova dimensão no
problema da geração das regras, especialmente no
passo de poda.
Apriori Vantagens - Desvantagens
• Vantagens:
– Usa a propriedade de itemset grande para poda.
– Paralelizável
– Fácil de implementar
• Desvantagens:
– Assume que o BD de transações é residente em
memória.
– Requer até m database scans (onde m é o
número de itens)
Download