Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Inteligentes
Noes de Preparao de Dados e
Minerao de Regras de Associao
Prof. Ricardo J. G. B. Campello
ICMC / USP
Crditos
Parte deste material consiste de adaptaes
e extenses dos originais:
Aula de Hoje
Princpio Apriori
Regras de associao
Relembrando KDD...
Avaliao
Minerao
de Dados
Padres
Transformao
Pr-processamento
e Limpeza
Conhecimento
Dados
transformados
Dados
Pr-processados
Seleo
Dados
alvo
Dados
originais
Fayyad et al 1997
4
Preparao de Dados
Seleo
Limpeza e Pr-Processamento
Transformao
Seleo
Subconjunto de registros
Subconjunto de atributos
Exemplo
Conjunto com dados clnicos
1.000.000
cdigo interno, nome,
2
profisso, peso, altura,
1
cdigosexo,
interno,
nome,
estado
civil, renda,
cdigo
interno,
nome,
profisso,
peso,
altura,
escolaridade,
sangue,
profisso,
peso,civil,
altura,
sexo, estado
renda,
data nasc.,
endereo,
sexo,
estado civil,
renda,
escolaridade,
sangue,
fone, email,
hist. visitas,
escolaridade,
sangue,
data nasc.,
endereo,
exame 1, , exame N, ...
data
nasc.,
endereo,
fone,
email,
hist. visitas,
fone,
email,
hist.
visitas,
exame 1, , exame
N, ...
exame 1, , exame N, ...
dos pacientes
986
cdigo interno, nome,
profisso, peso, altura,
1
cdigosexo,
interno,
nome,
estado
civil, renda,
cdigo
interno,
nome,
profisso,
peso,
altura,
escolaridade, sangue,
profisso,
peso,civil,
altura,
sexo, estado
renda,
endereo,
data nasc.,
sexo,
estado
civil,
renda,
escolaridade,
sangue,
fone, email,
hist. visitas,
escolaridade,
sangue,
data nasc.,
exameendereo,
1, , exame N, ...
data
nasc.,
endereo,
fone,
email,
hist. visitas,
fone,
email,
hist.
visitas,
exame 1, ,
exame
N, ...
exame 1, , exame N, ...
17
Pr-Processamento e Limpeza
Agregar dados
Transformaes
Extrao de caractersticas
p/ obter um menor no. de atributos mais relevantes a partir dos dados brutos
Discretizaes e converses
Normalizaes
Exemplo
Normalizaes:
Re-escalonamento
Padronizao
p. ex. KNN
x=
( x min x )
(max x min x )
x=
x x
10
Anlise de Associao
Descoberta e interpretao de padres
de inter-relacionamento interessantes
que podem estar escondidos em grandes
bases de dados de transaes
11
Exemplos de Transaes:
ID Produto
1 leite, po, ovos
2 po, acar
3 po, cereal
4 leite, po, acar
5 leite, cereal
6 po, cereal
7 leite, cereal
8 leite, po, cereal, ovos
9 leite, po, cereal
12
Anlise de Associao
Variados Campos de Aplicao
Por exemplo:
Mercados: relaes
consumo, etc.
entre
produtos, perfis
de
Meteorologia:
relaes
entre
fenmenos
atmosfricos, terrestres, martimos, etc.
Medicina: relaes
doenas, etc.
entre
exames,
sintomas,
Bioinformtica...
13
Exemplos = Transaes
Itens:
A = leite
B= po
C= cereal
D= acar
E= ovos
14
3
4
0
1
1
1
1
0
0
1
0
0
7
8
1
1
0
1
1
1
0
0
0
1
15
NOTA
Todas as discusses a seguir presumem que as
bases de dados de transaes em questo so
binrias assimtricas
Mtodos para anlise de associao sobre
bases no binrias, tais como, por exemplo,
aquelas contendo transaes de consumo com
a quantidade e/ou preo dos itens
envolvidos, esto alm do escopo deste curso.
16
Definies:
Conjunto de Itens (itemset) I: um subconjunto de
itens possveis
Exemplo: I = {A, B, E} (ordem no importante)
Pode ser parte de (ou toda) uma transao (t)
Propriedade do Subconjunto:
Todo subconjunto de um conjunto
freqente tambm freqente
Por qu?
Exemplo: suponhamos que {A,B} seja freqente.
Dado que cada ocorrncia de {A,B} inclui A e B,
ento A e B tem de ser eles prprios freqentes
Quase todos os algoritmos para extrair regras de
associao so baseados nesta propriedade
18
Regras de Associao:
Regra de Associao R :
Conjunto de itens 1 Conjunto de itens 2
Conjuntos de itens 1 e 2 disjuntos
Exemplos:
A,B E,C
A B,C
19
10
Suporte e Confiana:
Seja R: I J uma regra de associao
sup(R) = sup(I J) / N
N = No de transaes (fixo)
Logo, a unio dos conjuntos I J define o suporte
T Lista de itens
1 A, B, E
2 B, D
3 B, C
4 A, B, D
5 A, C
6 B, C
7 A, C
8 A, B, C, E
9 A, B, C
22
11
Leite
Caf
Cerveja
Po
Manteiga
Arroz
Feijo
N
10
23
Problema:
Encontrar todas as regras que forneam sup_mn e conf_mn
pr-estabelecidos
12
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
ABCD
ABCE
ABDE
ACDE
BCDE
d itens 2d
possveis candidatos ...
ABCDE
Tan,Steinbach, Kumar
4/18/2004
25
Princpio Apriori:
Se um conjunto de itens frequente, ento todos os
seus subconjuntos tambm devem ser
X , Y : ( X Y ) sup( X ) sup(Y )
Propriedade anti-monotnica
suporte de um conjunto de itens nunca excede os suportes
dos seus subconjuntos !
Tan,Steinbach, Kumar
4/18/2004
26
13
Ilustrando o Princpio
descoberto ser
infrequente ...
candidatos
podados !
Tan,Steinbach, Kumar
4/18/2004
27
Ilustrando o Princpio
Item
Bread
Coke
Milk
Beer
Diaper
Eggs
Suporte
4
2
4
3
4
1
sup_mn = 3
Conjuntos de Tamanho 1
Conj. de Itens
{Bread,Milk}
{Bread,Beer}
{Bread,Diaper}
{Milk,Beer}
{Milk,Diaper}
{Beer,Diaper}
Suporte
3
2
3
2
3
3
Conjuntos de Tamanho 2
(no necessrio gerar
candidatos envolvendo
Coke ou Eggs!)
Conj. de Tamanho 3
Tan,Steinbach, Kumar
4/18/2004
28
14
Gerao de Candidatos
Mtodo Fk-1 x F1 :
Exemplo (k = 3):
Gerao de Candidatos
Mtodo Fk-1 x F1 :
Candidatos de Tamanho 2
Itens Frequentes
{Beer, Bread}
Beer
{Beer, Cola}
Candidatos de Tamanho 3
{Beer, Bread, Cola}
Bread
{Beer, Diapers}
Cola
{Bread, Cola}
Diapers
{Bread, Diapers}
{Cola, Diapers}
15
Gerao de Candidatos
Item
Bread
Coke
Milk
Beer
Diaper
Eggs
Suporte
4
2
4
3
4
1
sup_mn = 3
Conjuntos de Tamanho 1
Conj. de Itens
{Bread,Milk}
{Bread,Beer}
{Bread,Diaper}
{Milk,Beer}
{Milk,Diaper}
{Beer,Diaper}
Suporte
3
2
3
2
3
3
Tan,Steinbach, Kumar
Conjuntos de Tamanho 2
Conj. de Tamanho k
4/18/2004
31
Poda de Candidatos
Note que todo o procedimento demanda computar o
suporte de cada conjunto candidato gerado...
16
33
Rotina Bsica
Algoritmo:
Seja k=1
Gere conjuntos de itens frequentes de tamanho 1
Repita at que no haja mais conjuntos frequentes
Tan,Steinbach, Kumar
4/18/2004
34
17
Exerccio:
Gere os conjuntos de itens frequentes com sup_mn = 5 na BD abaixo:
Nota: cada par atributo = valor um item !
Temp
Humidity
Windy
Play
Sunny
Hot
High
False
No
Sunny
Hot
High
True
No
Overcast
Hot
High
False
Yes
Rainy
Mild
High
False
Yes
Rainy
Cool
Normal
False
Yes
Rainy
Cool
Normal
True
No
Overcast
Cool
Normal
True
Yes
Sunny
Mild
High
False
No
Sunny
Cool
Normal
False
Yes
Rainy
Mild
Normal
False
Yes
Sunny
Mild
Normal
True
Yes
Overcast
Mild
High
True
Yes
Overcast
Hot
Normal
False
Yes
Rainy
Mild
High
True
No
Leite
Caf
Cerveja
Po
Manteiga
Arroz
Feijo
10
36
18
37
Passo 2 ...
{Caf, Manteiga}:
Suporte = 3;
{Caf, Po}:
Suporte = 3;
{Manteiga, Po}:
Suporte = 4;
38
19
Nota:
Antes de calcular o suporte deste conjunto, ele foi submetido
(e sobreviveu) ao procedimento de poda que verificou que
todos os seus subconjuntos de tamanho 2 so freqentes:
{Manteiga, Po}, {Caf, Po}, {Caf, Manteiga}
39
Leite
Caf
Cerveja
Po
Manteiga
Arroz
Feijo
10
Em Resumo:
Sup({Caf}) = 3 e Sup({Manteiga}) = Sup({Po}) = 5
Sup({Caf, Manteiga}) = 3
Sup({Caf, Po}) = 3
Sup({Manteiga, Po}) = 4
Sup({Caf, Manteiga, Po}) = 3
20
(I J) J
Eliminar aquelas com medida de confiana menor que
o limiar mnimo pr-estabelecido (conf_mn)
41
a)
{Caf, Manteiga} :
Se caf ento manteiga conf.=1,0
Se manteiga ento caf conf.=0,6
b)
{Caf, Po} :
Se caf ento po conf.=1,0
Se po ento caf conf.=0,6
c)
{Manteiga, Po} :
Se manteiga ento po conf.=0,8
Se po ento manteiga conf.=0,8
d)
21
Exerccios
Complete o exemplo anterior selecionando
todas as regras de associao que se pode
extrair da BD que tenham conf_mn = 0.8
Explique porque no preciso calcular o
suporte das regras candidatas (apenas a
confiana) para saber que essas regras
necessariamente possuem suporte maior
ou igual ao mnimo (0,3 neste exemplo)
43
22
Tan,Steinbach, Kumar
4/18/2004
45
Possveis solues:
Pr-processar a base e/ou filtrar regras...
23
Exerccios Adicionais
48
24
Exerccios Adicionais
49
Referncias
50
25