analise inteligente dados i
DESCRIPTION
InteligenteTRANSCRIPT
-
1Introduo a 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 adaptaese extenses dos originais:
gentilmente cedidos pelos professores EduardoR. Hruschka (baseados no curso de Gregory Piatetsky-Shapiro, disponvel no stio http://www.kdnuggets.com) eAndr C. P. L. F. de Carvalho
do livro de (Tan et al., 2006)
-
23
Aula de Hoje
Noes de pr-processamento de dados
Introduo minerao de regras de associao Medidas de suporte e confiana
Princpio Apriori
Regras de associao
4
Relembrando KDD...
Dadosoriginais
Dadosalvo
DadosPr-processados
Dadostransformados
Padres
Conhecimento
Seleo
Pr-processamentoe Limpeza
Transformao
Minerao de Dados
Avaliao
Fayyad et al 1997
-
35
Preparao de Dados
Tornar os dados adequados para utilizao na etapa de minerao
Envolve basicamente as etapas de: Seleo
Limpeza e Pr-Processamento
Transformao
6
Seleo
Toma-se um subconjunto de interesse dentre os dados disponveis Subconjunto de registros
exemplos, instncias ou objetos
Subconjunto de atributos
campos, variveis ou caractersticas
considerados relevantes para o problema
os demais so claramente irrelevantes e descartados manualmente
-
47
cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...
cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...
Exemplo
cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...
986
117
Conjunto com dados clnicos
dos pacientescdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...
cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...
cdigo interno, nome, profisso, peso, altura,sexo, estado civil, renda,escolaridade, sangue,data nasc., endereo,fone, email, hist. visitas, exame 1, , exame N, ...
1.000.000
12
8
Pr-Processamento e Limpeza
Melhorar a qualidade dos dados e facilitar sua posterior utilizao
As principais operaes so Eliminar dados duplicados
Agregar dados
Lidar com valores ausentes
Lidar com rudo
-
59
Transformaes
Inclui diversas operaes, tais como: Seleo automtica de atributos
p/ eliminar atributos irrelevantes e/ou redundantes
Extrao de caractersticas
p/ obter um menor no. de atributos mais relevantes a partir dos dados brutos
Discretizaes e converses
entre atributos de diferentes naturezas
Normalizaes
para que os atributos ou mesmo os objetos apresentem determinadas propriedades (usualmente estatsticas) de interesse
Exemplo
Normalizaes: Re-escalonamento
Converter todos os valores de um atributo para [0, 1] ou [-1,+1]
Padronizao
Fazer com que cada atributo possua mdia nula e varincia 1
Podem ser fundamentais em algoritmos que veremos p. ex. KNN
)min(max)min(
xx
xxx
=
x
xxx
=
10
-
61111
Anlise de Associao
Descoberta e interpretao de padresde inter-relacionamento interessantesque podem estar escondidos em grandesbases de dados de transaes
1212
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
-
71313
Anlise de Associao
Variados Campos de Aplicao
Por exemplo:
Mercados: relaes entre produtos, perfis deconsumo, etc.
Meteorologia: relaes entre fenmenosatmosfricos, terrestres, martimos, etc.
Medicina: relaes entre exames, sintomas,doenas, etc.
Bioinformtica...
1414
Exemplo de Base de Dados de Transaes:
T Produtos 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
Itens:
A = leiteB= poC= cerealD= acarE= ovos
Exemplos = Transaes
-
81515
Exemplo de Base de Dados de Transaes:
T A B C D E 1 1 1 0 0 1 2 0 1 0 1 0 3 0 1 1 0 0 4 1 1 0 1 0 5 1 0 1 0 0 6 0 1 1 0 0 7 1 0 1 0 0 8 1 1 1 0 1 9 1 1 1 0 0
T Produtos 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
Produtos convertidos em atributos binrios
assimtricos:
1616
NOTA
Todas as discusses a seguir presumem que asbases de dados de transaes em questo sobinrias assimtricas
Mtodos para anlise de associao sobrebases no binrias, tais como, por exemplo,aquelas contendo transaes de consumo coma quantidade e/ou preo dos itensenvolvidos, esto alm do escopo deste curso.
-
91717
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)
Suporte(I) = no de transaes t que contm I
Na base de dados anterior temos que: sup({A, B, E}) = 2, sup({B, C}) = 4
Conjunto de Itens Freqentes: sup(I) sup_mn, onde sup_mn o suporte mnimo, definido pelo usurio
1818
Propriedade do Subconjunto:
Todo subconjunto de um conjunto Todo subconjunto de um conjunto freqente tambm freqentefreqente tambm freqente
Por qu?Por qu?
Exemplo: suponhamos que {A,B} seja freqente. Exemplo: suponhamos que {A,B} seja freqente. Dado que cada ocorrncia de {A,B} inclui A e B, Dado que cada ocorrncia de {A,B} inclui A e B, ento A e B tem de ser eles prprios freqentesento A e B tem de ser eles prprios freqentes
Quase todos os algoritmos para extrair regras de Quase todos os algoritmos para extrair regras de associao so baseados nesta propriedadeassociao so baseados nesta propriedade
-
10
1919
Regras de Associao:
Regra de Associao R :
Conjunto de itens 1 Conjunto de itens 2
Conjuntos de itens 1 e 2 disjuntos
Interpretao: se determinada transao inclui o conjunto de itens 1, ento esta tambm inclui (ou provavelmente inclui) o conjunto de itens 2
Cuidado! No deve ser interpretada como causa efeito!
Exemplos:
A,B E,C
A B,C
Como Obter Regras de Associao?
Dado um conjunto de itens freqentes {A, B, E}, quais so as possveis regras de associao? A {B, E}
{A, B} E
{A, E} B
B {A, E}
{B, E} A
E {A, B}
-
11
2121
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
conf(R) = sup(I J) / sup(I) a confiana de R
Nmero de transaes que possuem I e J dividido pelo nmero de transaes que possuem I
Regras de associao com mnimo suporte so s vezes chamadas de regras fortes
2222
Exemplo de Regras de Associao Formadas por 3 Itens:
Dado um conjunto de itens {A,B,E} com suporte = 2, quais regras de associao possuem conf_mn = 50% ?
A, B E : conf=2/4 = 50%
A, E B : conf=2/2 = 100%
B, E A : conf=2/2 = 100%
E A, B : conf=2/2 = 100%
Confiana menor do que a mnima requerida:
A B, E : conf=2/6=33% < 50%
B A, E : conf=2/7=28% < 50%
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
-
12
2323
Exemplo (Freitas & Lavington):Se caf ento po; Suporte=0,3 / Confiana=1
Se caf ento manteiga; Suporte=0,3 / Confiana=1
Se po ento manteiga; Suporte=0,4 / Confiana=0,8
Se caf E po ento manteiga; Suporte=0,3 / Confiana=1
R Leite Caf Cerveja Po Manteiga Arroz Feijo
1 N S N S S N N
2 S N S S S N N
3 N S N S S N N
4 S S N S S N N
5 N N S N N N N
6 N N N N S N N
7 N N N S N N N
8 N N N N N N S
9 N N N N N S S
10 N N N N N S N
2424
Encontrando Regras de Associao:
Uma regra possui dois parmetros: sup_mn e conf_mn;
sup(R) sup_mn & conf(R) conf_mn
Problema:
Encontrar todas as regras que forneam sup_mn e conf_mn pr-estabelecidos
Inicialmente, encontrar todos os conjuntos de itens freqentes
Em seguida, extrair regras com elevada confiana a partir desses conjuntos
-
13
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 25
Gerao de Itens Frequentes
null
AB AC AD AE BC BD BE CD CE DE
A B C D E
ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE
ABCD ABCE ABDE ACDE BCDE
ABCDE
d itens 2dpossveis candidatos ...
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 26
Principal Forma de Reduzir o No. de Candidatos
Princpio Apriori:
Se um conjunto de itens frequente, ento todos os seus subconjuntos tambm devem ser
Vlido devido seguinte propriedade do suporte:
Propriedade anti-monotnica
suporte de um conjunto de itens nunca excede os suportes dos seus subconjuntos !
)sup()sup()(:, YXYXYX
-
14
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 27
descoberto ser infrequente ...
Ilustrando o Princpio
candidatos podados !
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 28
Item Suporte Bread 4 Coke 2 Milk 4 Beer 3 Diaper 4 Eggs 1
Conj. de Itens Suporte {Bread,Milk} 3 {Bread,Beer} 2 {Bread,Diaper} 3 {Milk,Beer} 2 {Milk,Diaper} 3 {Beer,Diaper} 3
Conjuntos de Tamanho 1
Conjuntos de Tamanho 2
(no necessrio gerar candidatos envolvendo Coke ou Eggs!)
Conj. de Tamanho 3
sup_mn = 3
Ilustrando o Princpio
-
15
29
Gerao de Candidatos
Mtodo Fk-1 x F1 :
Gera conjuntos de itens de tamanho k unindo conjuntos deitens frequentes de tamanho k 1 e de tamanho 1
Nota: no o mtodo mais eficiente de gerao de candidatos,mas simples e basta para as necessidades do nosso curso !
Exemplo (k = 3):
{Bread, Diapers} {Milk} {Bread, Diapers, Milk}
Mas como evitar redundncias...?
Ex.: {Milk, Diapers} {Bread} {Milk, Diapers, Bread}
Gerao de Candidatos
Mtodo Fk-1 x F1 :
Para evitar redundncias, basta manter os itens ordenadosinternamente a cada conjunto e gerar os candidatos de formaorganizada, unindo cada conj. frequente de tamanho (k 1)apenas com os itens freq. de ordem superior na lista ordenada
Exemplo:
Itens Frequentes
Beer
Bread
Cola
Diapers
Candidatos de Tamanho 2
{Beer, Bread}
{Beer, Cola}
{Beer, Diapers}
{Bread, Cola}
{Bread, Diapers}
{Cola, Diapers}
Candidatos de Tamanho 3
{Beer, Bread, Cola}
{Beer, Bread, Diapers}
{Beer, Cola, Diapers}
{Bread, Cola, Diapers}
-
16
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 31
Item Suporte Bread 4 Coke 2 Milk 4 Beer 3 Diaper 4 Eggs 1
Conj. de Itens Suporte {Bread,Milk} 3 {Bread,Beer} 2 {Bread,Diaper} 3 {Milk,Beer} 2 {Milk,Diaper} 3 {Beer,Diaper} 3
Conjuntos de Tamanho 1
Conjuntos de Tamanho 2
Conj. de Tamanho k
sup_mn = 3
Gerao de Candidatos
Gerao de candidatos deve seguirat que, para algum k, no hajaconjuntos frequentes de k itens
32
Poda de Candidatos
Note que todo o procedimento demanda computar osuporte de cada conjunto candidato gerado...
Varrer a BD e tentar casar cada candidato com cada transao...
Pode ser bem mais eficiente:
mantendo ordenadas as transaes e os candidatos
utilizando estruturas de dados apropriadas
Mesmo assim computacionalmente caro !
Custo computacional pode ser amenizado se for possvel eliminaralguns candidatos sem computar diretamente seu suporte
-
17
3333
Poda de Candidatos (Exemplo) Dados 5 conjuntos freqentes de 3 itens:
{A B C}, {A B D}, {A C D}, {A C E}, {B C D}
Conjunto candidato formado por 4 itens:
{A B C D}
Pode ser freqente, pois todos os seus subconjuntos de 3 itens o so
E o que dizer sobre o conjunto {A C D E} ?
Como {C D E} no freqente, o conjunto {A C D E} tambm no !
Pode ser descartado
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 34
Rotina Bsica
Algoritmo: Seja k=1 Gere conjuntos de itens frequentes de tamanho 1 Repita at que no haja mais conjuntos frequentes
Gere conjuntos candidatos de tamanho (k+1) Pode os candidatos que possuem subconjuntos de
tamanho k que no so frequentes
Conte o suporte dos candidatos remanescentes varrendo a base de dados e elimine os candidatos infrequentes , ou seja, aqueles com contagem menor que sup_mn
-
18
Gere os conjuntos de itens frequentes com sup_mn = 5 na BD abaixo:
Nota: cada par atributo = valor um item !
Exerccio:
Outlook 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
(Witten and Frank, 2005)
3636
Voltando ao Exemplo Anterior (Freitas & Lavington)...
R Leite Caf Cerveja Po Manteiga Arroz Feijo
1 N S N S S N N
2 S N S S S N N
3 N S N S S N N
4 S S N S S N N
5 N N S N N N N
6 N N N N S N N
7 N N N S N N N
8 N N N N N N S
9 N N N N N S S
10 N N N N N S N
-
19
3737
Passo 1 Suporte p/ Conjuntos com 1 Item:
Arroz: 2; Caf: 3; Cerveja: 2; Feijo: 2; Leite: 2; Manteiga: 5; Po: 5.
Considerando sup_mn = 3:
Caf, Manteiga e Po seriam os itens freqentes!
Passo 2 Suporte p/ Conjuntos com 2 Itens:
Procurar considerando somente os itens freqentes
Caf, Manteiga, Po
3838
Passo 2 ...
{Caf, Manteiga}: Suporte = 3;
{Caf, Po}: Suporte = 3;
{Manteiga, Po}: Suporte = 4;
Conjuntos de itens freqentes para sup_mn = 3:
{Caf, Manteiga}, {Caf, Po}, {Manteiga, Po}
-
20
3939
Passo 3 Suporte p/ Conjuntos com 3 Itens:
A partir dos conjuntos anteriores obtm-se:
{Caf, Manteiga, Po}: Suporte = 3;
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}
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
R Leite Caf Cerveja Po Manteiga Arroz Feijo
1 N S N S S N N
2 S N S S S N N
3 N S N S S N N
4 S S N S S N N
5 N N S N N N N
6 N N N N S N N
7 N N N S N N N
8 N N N N N N S
9 N N N N N S S
10 N N N N N S N
(Freitas & Lavington)
-
21
4141
Gerando Regras de Associao:
Dados os conjuntos de itens freqentes:
Para cada conjunto I :
Para cada subconjunto J de I :
Determinar todas as regras de associao da forma:
(I J) J
Eliminar aquelas com medida de confiana menor que o limiar mnimo pr-estabelecido (conf_mn)
Voltando ao Exemplo Anterior (Freitas & Lavington)...
Sup({Caf) = 3; Sup({Manteiga}) = Sup({Po}) = 5
Sup({Caf, Manteiga}) = 3; Sup({Caf, Po}) = 3; Sup({Manteiga, Po}) = 4
Sup({Caf, Manteiga, Po}) = 3
Calcula-se, ento, a Confiana das regras candidatas:
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) {Caf, Manteiga, Po} : Se caf, po ento manteiga conf.=1,0
Se caf, manteiga ento po conf.=1,0
Se manteiga, po ento caf conf.=0,75
Se caf ento po,manteiga conf.=1,0
e assim por diante, escolhendo-se depois as regras que respeitam conf_mn.
-
22
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)
4343
4444
Nota Sobre a Gerao de Regras
A gerao do conjunto de regras tambm pode se beneficiar do princpio apriori
simples observar que o princpio implica a seguinte propriedade da confiana:
Confiana de regra de um dado conj. de itens no cresce se passamos itens da esquerda para a direita da regra
Por exemplo, dado um conj. de itens {A B C D}:
conf(ABC D) c(AB CD) c(A BCD)
-
23
Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 45
Gerao de Regras no Algoritmo Apriori
Regra de Baixa Confiana
Filtrando Regras de Associao:
Problema: grandes BDs (e.g. supermercados) podem produzir um nmero elevado de regras de associao, mesmo com valores razoveis para suporte e confiana...
Esse problema ainda mais crtico em BDs com distribuies de suporte desbalanceadas...
Possveis solues:
Pr-processar a base e/ou filtrar regras...
Medidas de interesse (objetivas e subjetivas) para filtragem:
Tpico fundamental em anlise de associao, mas est alm do escopo deste curso...
4646
-
24
Filtrando Regras de Associao:
Medidas de Interesse Subjetivas:
Geralmente so dependentes do problema
Tipicamente so especificadas por um especialista de domnio e utilizadas para filtrar regras que no satisfazem as especificaes
podem ser formalizadas em termos lgicos ou matemticos e inseridas no processo automtico de filtragem; ou
podem ser aplicadas de forma iterativa pelo prprio especialista em um ambiente iterativo amigvel (visual data mining)
Medidas de Interesse Objetivas:
Alternativas a Suporte - Confiana
4747
48
Exerccios Adicionais
Tome alguns conjuntos de itens de diferentestamanhos que voc gerou no exerccioenvolvendo a base de (Witten & Frank, 2005),gere regras de associao a partir dessesconjuntos e calcule a confiana de cada umadessas regras.
-
25
49
Exerccios Adicionais
A propriedade que a confiana de uma regrade um dado conj. de itens no cresce sepassamos itens da esquerda para a direita daregra denominada anti-monotnica. Combase na definio da medida de confiana,explique porque essa propriedade vlida.
50
Referncias
P.-N. Tan, Steinbach, M., and Kumar, V., Introduction to Data Mining, Addison-Wesley, 2006
I. H. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques, 2nd Edition, Morgan Kaufmann, 2005