Descoberta de Padrões
usando
Conhecimento Prévio
Regras de Classificação
Regras da forma:
Se A então ci,
onde A é uma conjunção de pares atributo-valor, i.e.,
(A1, va)  (A2, vb) ...  (An, vz), e ci é uma classe.
note que A e ci são conjunto disjuntos.
JUN2003
Marco Di Beneditto
2
Regras de Classificação
Servem para:
 descrição intensional de um conjunto: descrição através
de uma propriedade.
 previsão da classe de um novo exemplo, ainda
desconhecido.
JUN2003
Marco Di Beneditto
3
Algoritmo de busca de Regras de
Classificação
1. Gerar todas as regras possíveis que contenham um par (A,v) e
armazenar no conjunto H.
2. Para cada h  H :
se (medidas de relevância maiores que valores mínimos
determinados)
h é retirado de H e armazenado como regra descoberta
senão
adicionar um par (A,v) à regra h e armazená-la em H
JUN2003
Marco Di Beneditto
4
Tamanho do Espaço de Busca
 tuplas com i atributos.
 cada atributo possui k valores possíveis
 número de possibilidades de tuplas: T = k i.
 número de possibilidades de regras:
conjunto potência de T = 2
JUN2003
ki
elementos
Marco Di Beneditto
5
Espaço de Busca
ID
1
2
3
4
5
JUN2003
COR
marrom
branca
verde
verde
branca
ODOR
amêndoa
peixe
anis
amêndoa
anis
ESPORO
laranja
preto
amarelo
amarelo
preto
Marco Di Beneditto
6
Medidas de Relevância
 Completude: se a regra classifica todas as instâncias da
classe.
 Consistência: se a regra não classifica uma instância de
outra classe
JUN2003
Marco Di Beneditto
7
Medidas de Relevância
AC
 SUPORTE NA CLASSE: a probabilidade de uma regra
numa base de dados dividida pelo número de tuplas que
pertencem à classe: P(A  C) / P (C)
 CONFIANÇA: a probabilidade condicional de uma regra,
i.e., probabilidade de ocorrer o conseqüente de uma regra
dado que ocorre o antecedente: P(C|A) = P(A  C) / P(A)
 Valores altos de suporte e confiança: regras fortes
JUN2003
Marco Di Beneditto
8
Suporte e Confiança
 Algoritmo de busca:
procura regras maximizando sua confiança
considera regras com valor de suporte acima de um valor mínimo
 O acréscimo de um par atributo-valor diminui o valor de
suporte, pois as tuplas que satisfazem a regra pertencem a
intersecção entre os conjuntos de cada par atributo-valor
individualmente.
JUN2003
Marco Di Beneditto
9
Suporte e Confiança
Se odor = peixe ->
comestível
Se cor = marrom ->
comestível
ID
1
2
3
4
5
6
7
8
9
10
ID
1
2
3
4
5
6
7
8
9
10
ODOR
amêndoa
peixe
anis
anis
anis
peixe
amêndoa
anis
peixe
peixe
cobertura =
suporte =
confiança =
JUN2003
CLASSE
venenoso
venenoso
comestível
comestível
venenoso
comestível
comestível
venenoso
comestível
comestível
3
3/6
3/4
COR
marrom
amarela
branca
amarela
marrom
preta
preta
marrom
marrom
marrom
cobertura =
suporte =
confiança =
CLASSE
venenoso
venenoso
comestível
comestível
venenoso
comestível
comestível
venenoso
comestível
comestível
2
2/6
2/5
Marco Di Beneditto
Se odor = peixe 
cor = marrom -> comestível
ID
ODOR
9
peixe
10 peixe
cobertura =
suporte =
confiança =
COR
marrom
marrom
2
2/6
1
CLASSE
comestível
comestível
10
Cálculo do Suporte e Confiança
Regras são convertidas em expressões SQL:
1) SELECT classe, COUNT(*) FROM tabela_dados
WHERE odor = peixe GROUP BY classe;
CLASSE
comestível
venenoso
COUNT
3
1
2) SELECT classe, COUNT(*) FROM tabela_dados
WHERE odor = peixe AND cor = marrom GROUP BY classe;
CLASSE
comestível
JUN2003
COUNT
2
Marco Di Beneditto
11
Padrões em múltiplos níveis conceituais
Padrões podem ser descobertos:
1) no nível conceitual representado na base de dados
2) num nível conceitual mais elevado, utilizando informação de
hierarquias de conceitos ==> descoberta de padrões de alto
nível
Observações:
em geral, não existem regularidades fortes em conceitos com baixo
nível de abstração.
regularidades em conceitos de nível mais alto de abstração, podem
ser conhecidas ou de senso comum.
conceitos em níveis intermediários podem apresentar maior grau de
interesse.
Marco Di Beneditto
JUN2003
12
Múltiplos Níveis Conceituais
ID
1
2
3
4
5
6
7
8
9
10
ODOR
amêndoa
peixe
anis
anis
anis
peixe
amêndoa
anis
peixe
peixe
ID ODOR
ruim
6
ruim
9
10 ruim
JUN2003
agradável
ruim
agradável
agradável
agradável
ruim
agradável
agradável
ruim
ruim
COR
escura
escura
escura
COR
marrom
amarela
branca
amarela
marrom
preta
preta
marrom
marrom
marrom
escura
clara
clara
clara
escura
escura
escura
escura
escura
escura
CLASSE
venenoso
venenoso
comestível
comestível
venenoso
comestível
comestível
venenoso
comestível
comestível
CLASSE
comestível
comestível
comestível
Marco Di Beneditto
13
Hierarquia sobre valores de atributos
10000 ~ 75000
40000 ~ 75000
10000 ~ 40000
10000 ~ 25000
25000 ~ 40000
Esta do
RJ
SP
MG
ES
PR
RS
JUN2003
40000 ~ 55000
55000 ~ 75000
Re nda
32100
25500
25403
70000
12500
50000
Marco Di Beneditto
14
Hierarquia de Conceitos - Fundamentos
 um conjunto finito parcialmente ordenado de conceitos define relações de generalização e especialização
 pode ser representada como uma árvore
 os valores dos atributos estão no nível folha - menor nível
de especialização
 pode ser fornecida por um especialista de domínio ou ser
construída a partir de uma base de dados
 pode ser reconstruída/refinada dinamicamente dependendo do padrão a ser descoberto
JUN2003
Marco Di Beneditto
15
algoritmos
• ParDRI (Merrwyn, UMA, USA)
• Indução orientada à atributo (Han, SFU, CA)
JUN2003
Marco Di Beneditto
16
Busca por Padrões em múltiplos níveis
Estratégias de mineração
1) especialização progressiva - top down
2) generalização progressiva - bottom up
JUN2003
Marco Di Beneditto
17
Descoberta de regras em múltiplos níveis
• Processo de geração de hipóteses (regras
candidatas) que devem ser refinadas
• Na descoberta em múltiplos níveis o refinamento
de hipóteses pode ser (a) adicionar mais um
atributo a regra ou (b) especializar um valor de
um atributo
• Busca por regras mais simples - tamanho de
descrição mínimo
JUN2003
Marco Di Beneditto
18
Refinamento de regras em múltiplos níveis
Se <A1,v1>  <A2, v2> ... <Ai, vi> então cn
especializar
adicionar par Av
Se <A1,v1>  <A2, v2> ... <Ai, v’i> então cn
Se <A1,v1> ...<Ai, vi>  <Ai+1, vi+1> então cn
JUN2003
Marco Di Beneditto
19
Algoritmo implementado
 utiliza SGBD PostgresSQL onde são armazenadas as
hierarquias de conceitos e a base de dados
 para a execução do algoritmo, o banco de dados deve ser
representado numa única tabela
 redução do espaço de hipóteses:
- co-ocorrência entre as tuplas - pares (A,v) que ocorrem nas
tuplas.
- medidas de relevância.
- uma regra descoberta não irá compor uma outra regra.
Modelo funcional
Heurísticas da busca e critérios de poda
• adotar um valor de mais baixo nível para um
determinado atributo sempre que o número de
tuplas for maior que 90% do número de tuplas
com o valor de mais alto nível
• regras descobertas não são mais refinadas
JUN2003
Marco Di Beneditto
22
Teste de relevância
SELECT classe, COUNT(*) FROM tabela_dados
WHERE odor = peixe AND ( cor = marrom OR cor = preta)
GROUP BY classe;
JUN2003
Marco Di Beneditto
23
Teste de relevância: otimização
São criados dois tipos de cache:
 para cada atributo são criadas tabelas contendo todas as tuplas
cujos valores correspondem às folhas da hierarquia descendentes
dos conceitos de mais alto nível
 para cada regra é criada uma tabela que contêm todas as tuplas
que satisfazem a regra
JUN2003
Marco Di Beneditto
24
Avaliação
• Banco de dados sobre cogumelos obtido do
repositório de BD de aprendizado de máquina da
UCI, EUA
• contém 8416 tuplas, 23 atributos, 2 classes
(cogumelos comestíveis e venenosos)
• foram descobertas 150 regras que foram
comparadas às regras descobertas pelo sistema
ParDRI.
JUN2003
Marco Di Beneditto
25
Pesquisa
 implementação original em alguns aspectos dos algoritmos estudos:
 abordagem top-down sem generalização de tabelas
 armazenamento das hierarquias em tabelas relacionais
 múltiplas hierarquias
 evita regras repetidas
 métodos de seleção de atributos - filtro para redução inicial do espaço
de busca (por exemplo, entropia da informação)
 emprego de outras medidas de relevância [Hilderman &
Hamilton][Kodratoff]
 construção de uma BD de teste benchmark - geração de dados a partir
de um simulador
JUN2003
Marco Di Beneditto
26
descobertas anteriores
uso de hierarquias mais “complexas” sugerem uma forma de uso de
regras de classificação descobertas por outros processos
qualquer
forte
fraco
ruim
regular
R1
0.0 ~ 4.5
muito bom
R2
4.5 ~ 6.5
R1 = {4.5 ~ 6.5}  pós-graduação  ruim
R2 = {4.5 ~ 6.5}  graduação  regular
excelente
FIM
Download

PowerPoint - IME-USP