descoberta de padrões usando conhecimento prévio
TRANSCRIPT
Descoberta de Padrões usando
Conhecimento Prévio
JUN2003 Marco Di Beneditto 2
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 3
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 4
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 :sese (medidas de relevância maiores que valores mínimos
determinados)h é retirado de H e armazenado como regra descobertasenãosenão
adicionar um par (A,v) à regra h e armazená-la em H
JUN2003 Marco Di Beneditto 5
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 elementoskiki
JUN2003 Marco Di Beneditto 6
Espaço de Busca
ID COR ODOR ESPORO1 marrom amêndoa laranja2 branca peixe preto3 verde anis amarelo4 verde amêndoa amarelo5 branca anis preto
JUN2003 Marco Di Beneditto 7
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 8
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 9
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 10
Suporte e Confiança
Se odor = peixe -> comestível
Se odor = peixe -> comestível
Se cor = marrom -> comestível
Se cor = marrom -> comestível
Se odor = peixe
cor = marrom -> comestível
Se odor = peixe
cor = marrom -> comestível
ID ODOR CLASSE ID COR CLASSE ID ODOR COR CLASSE1 amêndoa venenoso 1 marrom venenoso 9 peixe marrom comestível2 peixe venenoso 2 amarela venenoso 10 peixe marrom comestível3 anis comestível 3 branca comestível cobertura = 24 anis comestível 4 amarela comestível suporte = 2/65 anis venenoso 5 marrom venenoso confiança = 16 peixe comestível 6 preta comestível7 amêndoa comestível 7 preta comestível8 anis venenoso 8 marrom venenoso9 peixe comestível 9 marrom comestível10 peixe comestível 10 marrom comestível
cobertura = 3 cobertura = 2suporte = 3/6 suporte = 2/6confiança = 3/4 confiança = 2/5
JUN2003 Marco Di Beneditto 11
Cálculo do Suporte e Confiança
Regras são convertidas em expressões SQL:1) SELECT classe, COUNT(*) FROM tabela_dadosWHERE odor = peixe GROUP BY classe;
2) SELECT classe, COUNT(*) FROM tabela_dadosWHERE odor = peixe AND cor = marrom GROUP BY classe;
CLASSE COUNTcomestível 3venenoso 1
CLASSE COUNTcomestível 3venenoso 1
CLASSE COUNTcomestível 2CLASSE COUNTcomestível 2
JUN2003 Marco Di Beneditto 12
Padrões em múltiplos níveis conceituais
Padrões podem ser descobertos:1) no nível conceitual representado na base de dados2) 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.
JUN2003 Marco Di Beneditto 13
Múltiplos Níveis Conceituais
ID ODOR COR CLASSE1 amêndoa agradável marrom escura venenoso2 peixe ruim amarela clara venenoso3 anis agradável branca clara comestível4 anis agradável amarela clara comestível5 anis agradável marrom escura venenoso6 peixe ruim preta escura comestível7 amêndoa agradável preta escura comestível8 anis agradável marrom escura venenoso9 peixe ruim marrom escura comestível10 peixe ruim marrom escura comestível
ID ODOR COR CLASSE6 ruim escura comestível9 ruim escura comestível10 ruim escura comestível
JUN2003 Marco Di Beneditto 14
Hierarquia sobre valores de atributos
10000 ~ 7500010000 ~ 75000
10000 ~ 4000010000 ~ 40000 40000 ~ 7500040000 ~ 75000
10000 ~ 2500010000 ~ 25000 25000 ~ 4000025000 ~ 40000 40000 ~ 5500040000 ~ 55000 55000 ~ 7500055000 ~ 75000
Estado Renda
RJ 32100SP 25500MG 25403ES 70000PR 12500RS 50000
JUN2003 Marco Di Beneditto 15
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 16
algoritmos
• ParDRI (Merrwyn, UMA, USA)• Indução orientada à atributo (Han, SFU, CA)
JUN2003 Marco Di Beneditto 17
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 18
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 19
Refinamento de regras em múltiplos níveis
Se <A1,v1> <A2, v2> ... <Ai, vi> então cn
Se <A1,v1> <A2, v2> ... <Ai, v’i> então cn
Se <A1,v1> ...<Ai, vi> <Ai+1, vi+1> então cn
especializar adicionar par Av
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
JUN2003 Marco Di Beneditto 22
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 23
Teste de relevância
SELECT classe, COUNT(*) FROM tabela_dadosWHERE odor = peixe AND ( cor = marrom OR cor = preta)
GROUP BY classe;
JUN2003 Marco Di Beneditto 24
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 25
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 26
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
descobertas anteriores
qualquerqualquer
fracofraco forteforte
ruimruim regularregular muito bommuito bom excelenteexcelente
0.0 ~ 4.50.0 ~ 4.5 4.5 ~ 6.54.5 ~ 6.5
R1R1 R2R2
R1R1 = {4.5 ~ 6.5} = {4.5 ~ 6.5} pós-graduação pós-graduação ruim ruim
R2R2 = {4.5 ~ 6.5} = {4.5 ~ 6.5} graduação graduação regular regular
R1R1 = {4.5 ~ 6.5} = {4.5 ~ 6.5} pós-graduação pós-graduação ruim ruim
R2R2 = {4.5 ~ 6.5} = {4.5 ~ 6.5} graduação graduação regular regular
uso de hierarquias mais “complexas” sugerem uma forma de uso de regras de classificação descobertas por outros processos
FIMFIM