Universidade Federal do Pará
Programa de Pós-Graduação em Engenharia Elétrica
Fundamentos Matemáticos da Mineração de Dados
Fast Algorithms for Mining
Association Rules
Rakesh Agrawal
Ramakrishnan Srikant
IBM Almaden Research Center
Proceedings of 20th International
Conference on Very Large Data Bases,
September 12-15, 1994, Santiago de Chile,
Chile
1994
Artur Tupiassú
Fabíola Oliveira
Dezembro/2004
Roteiro da Apresentação
Objetivos dos autores;
Regras de associação;
Mineração de regras de associação;

Algoritmos Apriori , AprioriTid,

Descoberta de Regras;
AprioriHybrid;
Experimentos e resultados;
Conclusões.
Objetivos
Apresentação de novos algoritmos
para a mineração de regras de
associação entre itens em um banco
de dados de vendas (basket data);
Realização de experimentos com
dados sintéticos ilustrando a
performance dos algoritmos.
Regras de Associação
Representação: supermercado
Itens: banana, disquete, pizza, vinho e queijo.
Transações de venda:
100
200
TID
100
200
300
400
300
items
{banana,disquete,pizza}
{queijo,disquete,vinho}
{banana,queijo,disquete,vinho}
{queijo,vinho}
400
Regras de Associação:
Representação Formal
I = {i1,i2, … , im } é um conjunto de literais
chamados itens;

Ex.: I = {banana, disquete, queijo, vinho, pizza};
D = {T1,T2, …, Tn} é um conjunto de
transações com Ti  I;

Ex.: T100 = {banana, disquete, queijo};
Uma transação T contém um conjunto de
itens (Itemset) X se X  T

Ex. T100  X = {banana, disquete};
Regras de Associação:
Representação Formal
Uma regra de associação é uma implicação do
tipo: X  Y, onde os conjuntos de itens X e Y  I, X
 Y = ;
 Ex. {banana,disquete}  {queijo,vinho}
A regra X  Y apresenta-se no conjunto de
transações D com uma confiança c se c% das
transações em D que contém X também contém Y
 Ex. {banana,disquete}  {queijo,vinho}
TID
100
200
300
400
items
{banana,disquete,pizza}
{queijo,disquete,vinho}
{banana,queijo,disquete,vinho}
{queijo,vinho}
Confiança: 1/2 = 50%
Representação Formal
A regra X  Y tem suporte s no
conjunto de transações D se s% das
transações em D contém X  Y

TID
100
200
300
400
Ex. {banana, disquete}  {queijo, vinho}
items
{banana,disquete,pizza}
{queijo,disquete,vinho}
{banana,queijo,disquete,vinho}
{queijo,vinho}
Suporte: 1/4 = 25%
Mineração de Regras de
Associação
Algoritmo Apriori;
Algoritmo AprioriTid;
Algoritmo AprioriHybrid.
Itens: banana, disquete, pizza, vinho e queijo.
TID
100
200
300
400
items
{banana,disquete,pizza}
{queijo,disquete,vinho}
{banana,queijo,disquete,vinho}
{queijo,vinho}
Algoritmo AprioriTid:
database
TID
100
200
300
400
TC1
TID
100
200
300
400
items
{banana,floppy,pizza}
{cheese,floppy,wine}
{banana,cheese,floppy,wine}
{cheese,wine}
C2
itemset
BC
BF
BW
CF
CW
FW
support
1
2
1
2
3
2
TC2
TID
100
200
300
400
C3
itemset
CFW
support
2
set-of-itemsets
{B,F,P}
{C,F,W}
{B,C,F,W}
{C,W}
set-of-itemsets
{BF}
{CF,CW,FW}
{BC,BF,BW,CF,CW,FW}
{CW}
TC3
TID
200
300
set-of-itemsets
{CFW}
{CFW}
L1
itemset
B
C
F
W
support
2
3
3
3
L2
itemset
BF
CF
CW
FW
support
2
2
3
2
L3
itemset
CFW
support
2
Descoberta de Regras
1. Selecionar um k-itemset grande (k > 1);
2. Gerar todas as regras com 1 item na
consequência;
3. Aplicar o algoritmo para a geração de
candidatos (Apriori, AprioriTid) com dois
itens na consequência e assim por diante;
4. Contabilizar a confiança das regras e
armazenar aquelas que estivem dentro do
limite definido pelo usuário (minconf);
Descoberta de Regras
Algoritmo Simples
Confiança Mínima
Para cada itemset l serão definidos
subconjuntos a, gerando regras do tipo:
a  (l – a)
minconf = suporte(l)/suporte(a)
Ex. l = QDV e a = QD
Regra : QD  V
TID
100
200
300
400
items
{banana,disquete,pizza}
{queijo,disquete,vinho}
{banana,queijo,disquete,vinho}
{queijo,vinho}
Suporte da regra QDV = 2
Suporte da regra QD = 2
minconf = suporte(QDV)/suporte(QD) = 1
(100%)
Descoberta de Regras
Algoritmo Simples
Se um subconjunto de a de um itemset l, não
gera um regra, então os subconjuntos de a
não serão considerados para a geração de
regras.
Ex. l = ABCD e a = ABC
Regra : ABC  D
minconf < 50%
Regra : AB  CD  Não precisa ser avaliada!
Descoberta de Regras
Algoritmo Rápido (Fast)
Considerando um itemset l, se um a regra com
consequência c é válida, todas as regras com
consequências que são subconjuntos de c (c’)
também serão válidas.
(l – c)  c, então (l – c’)  c’
onde c’ é um subconjunto de c
Ex1. Regra : AB  CD
l = ABCD e c = CD
Regras : ABC  D e ABD  C  Serão válidas!

minconf > valor definido como “aceitável”.
Descoberta de Regras
Algoritmo Rápido (Fast)
Ex2. l = ABCDE
Regras (minconf) : ACDE  B e ABCE  D
Algoritmo Simples

Geração de Regras (ABCDE, ACDE)
 ACD  BE, ADE  BC, CDE  BA e ACE  BD

Geração de Regras (ABCDE, ABCE)
 ABC  DE, ABE  DC, BCE  DA e ACE  BD
 Algoritmo Rápido (Fast)

A única regra gerada (com dois itens na
consequência) que vai ser testada é aquela que
contém BD.
ACE  BD
Experimentos
Ambiente

Workstation IBM RS/6000 530H
 Clock 33MHz
 64MB de RAM
 2GB SCSI
 AIX 3.2
Dados sintéticos


Transações de um sistema de vendas
Compra de um conjunto de itens
Experimentos
Legenda:
T: Tamanho médio
das transações
I: Tamanho médio do
maior itemset
D: Número de transações
Experimentos
Mail Order
Experimentos
Apriori e AprioriTid
Experimentos
AprioriHybrid
Conclusões
Apresentação dos algoritmos Apriori e
AprioriTid para descoberta de regras de
associação significativas;
Comparação com os algoritmos AIS e SETM;
Combinação do Apriori e AprioriTid,
originando um algoritmo híbrido 
AprioriHybrid;
Algoritmo Rápido (Fast) para a descoberta
de regras de associação válidas.
Download

Fast Algorithms for Mining Association Rules