Descoberta de Regras de Classificação em Bancos de Dados com Hierarquias Conceituais Descoberta em múltiplos níveis conceituais Padrões podem ser descobertos: 1) no nível conceitual representado no Banco de Dados (BD) 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. SET 2003 2 Regras de Classificação Seja um BD no qual uma tupla: t = (a1, ..., an), ak DOM (Ak) e (1 k n) e C = {c1, ..., cm} um conjunto finito de classes. Regras da forma: Se A então ci, na qual A é uma conjunção de pares atributo-valor, i.e., (A1, aa) (A2, ab) ... (An, az), e ci é uma classe. note que A e ci são conjunto disjuntos. SET 2003 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. SET 2003 4 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 do BD SET 2003 5 Hierarquia de Conceitos - Tipos 1. Hierarquia de esquema (entre atributos) rua bairro cidade estado ( é uma relação de ordem parcial) 2. Hierarquia entre valores de atributo (instância) - {ES, MG, RJ, SP} Sudeste - {0.0 ... 4.9} Insatisfatório (valores contínuos em discretos) 3. Hierarquia baseada em regras (hierarquia condicional) - {6.5 ... 8.5} graduação Muito Bom SET 2003 6 Hierarquias de Conceitos Representação e Armazenamento representada através de uma árvore uso de tabelas relacionais. cada linha da tabela significa um caminho do vértice raiz até um vértice folha. SET 2003 0 QUALQUER QUALQUER QUALQUER QUALQUER 1 clara clara escura escura 2 amarela branca preta marrom 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 SET 2003 8 Medidas de Relevância - sem hierarquia Definição 1 um objeto ou tupla de um BD é coberto ou satisfaz uma regra se os atributos da tupla possuem os mesmo valores que os atributos da regra Definição 2 uma regra classifica corretamente uma tupla do BD se a tupla for coberta pela regra e pertencer à classe da regra. SET 2003 9 Medidas de Relevância - com hierarquia Definição 3 um objeto ou tupla de um BD é coberto ou satisfaz uma regra de alto nível, se os atributos da tupla possuem valores que pertencem aos conceitos dos atributos do antecedente da regra Definição 4 uma regra de alto nível classifica corretamente uma tupla do BD se a tupla for coberta pela regra e pertencer à classe da regra. SET 2003 10 Medidas de Relevância A C : (p, n) SUPORTE : número de tuplas classificadas corretamente dividido pelo número de tuplas que pertencem à classe: p/P CONFIANÇA: número de tuplas classificadas corretamente dividido pelo número de tuplas cobertas pelo antecedente da regra: p / (p + n). Valores altos de suporte e confiança: regras fortes SET 2003 11 Primitiva de Contagem Regras são convertidas em expressões SQL: SE ODOR ENTÃO ? SELECT odor, classe, COUNT(*) FROM tabela_dados GROUP BY odor, classe; SE FORMA = ACHATADA ODOR ENTÃO ? SELECT odor, classe, COUNT(*) FROM tabela_dados WHERE forma = ‘achatada’ GROUP BY odor, classe; SET 2003 12 Cálculo do Suporte e Confiança (cont.) Classes Atributo valor SET 2003 Av1 Av2 Av3 ... Avk C1 C2 C3 ... Cn T11 T12 T13 ... T1n T1+ T21 T2+ T31 T3+ ... Tk1 ... ... ... Tkn Tk+ T+1 T+2 T+3 ... T+n T++ Tuplas por classe Tuplas por valor de atributo 13 Cálculo do Suporte e Confiança (cont.) Suporte: p / P => T11 / T+1 Confiança: p / (p + n) => T11 / T1+ SET 2003 14 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 SET 2003 15 Espaço de Regras SET 2003 16 Tamanho do Espaço de Regras tuplas com i atributos. cada atributo possui k valores possíveis número de possibilidades de tuplas: T = k i. número de diferentes de regras: R = (k+1) i SET 2003 17 Problema de Busca Estado Inicial Operadores Teste do Estado Meta SET 2003 regra vazia aplicação das operações na especialização das regras cálculo das medidas de relevância para comparação com os valores mínimos 18 Especialização de Hipóteses de Regras Se (A1,v1) (A2, v2) ... (Ai, vi) então cn especialização na hierarquia adição de 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 uso de hierarquias de conceitos SET 2003 19 Algoritmo de Busca - geral nós CRIA-LISTA (regra vazia) laço faça se a lista de nós estiver vazia então devolva falha nó SELECIONE(nós) se TESTA-META(nó) então armazena nó senão nós INSERE-LISTA (nós, EXPANDA(nó)) fim SET 2003 20 Geração das Regras R’: cor = escura R’1: cor = escura forma = achatada R’: cor = escura R’2: cor = preta SET 2003 21 Geração das Regras Propriedade o número de tuplas cobertas por uma regra mais específica é menor ou igual ao número de tuplas cobertas pela regra mais geral. Operações Adição de atributo Especialização na hierarquia SET 2003 SUPORTE CONFIANÇA ou ou 22 Poda do Espaço de Regras Expansão de nós cujo valor de suporte seja menor que o mínimo. Tabelas de co-ocorrência (especialização pela adição de atributos): 1) expansão de nós inexistentes no BD; 2) expansão de nós com valor de suporte menor que o mínimo SET 2003 23 Poda no Espaço de Regras ID 1 2 3 4 5 COR marrom branca verde verde branca X X SET 2003 X ODOR amêndoa peixe anis amêndoa anis X X X 24 Sistemas de Descoberta ParDRI (Merwyn Taylor, UMA, EUA) – ParkaDB - linguagem de representação do conhecimento + SGBD. – tabelas de co-ocorrências. DBMiner (Jiawei Han, SFU, Canadá) – generalização de tabelas - IOA (Indução Orientada a Atributo). – nível de generalidade determiando pelo usuário. SET 2003 25 Critérios de Avaliação do Conjunto de Regras 1) Precisão de classificação – conjunto de teste 2) Complexidade do conjunto de regras – quantidade e tamanho das regras 3) Precisão em BD com ruído 4) Equivalência Semântica 5) Eficiência do Algoritmo de Busca – nós expandidos SET 2003 26 Objetivos do Trabalho 1) Desenvolvimento de um sistema de descoberta de regras de classificação, denominado NETUNO, utilizando múltiplas hierarquias conceituais. 2) Estender a idéia de primitiva de contagem considerando hierarquias conceituais. 3) Comparação do Sistema NETUNO com outros sistemas. 4) Paralelo entre a busca exaustiva por regras e as técnicas de seleção de características SET 2003 27 Cronograma Objetivos 1 2 3 4 Escrita SET 2003 MAI JUN JUL AGO SET OUT NOV DEZ 28 Algoritmo de Busca 1. gerar as hierarquias numéricas 2. gerar as listas de co-ocorrências 3. LISTA-REGRAS-DESCOBERTAS 4. nós CRIA-LISTA (regra vazia) laço faça se a lista de nós estiver vazia então devolva LISTA-REGRASDESCOBERTAS nó SELECIONE(nós) se TESTA-META(nó) então armazena nó LISTA-REGRASDESCOBERTAS senão nós INSERE-LISTA (nós, EXPANDA(nó)) fim 29 Modelo funcional Propagando a contagem de tuplas pela Hierarquia QUALQUER 57 clara 27 escura 30 Av1: preta T11 = 21 SET 2003 Av2 : marrom T21 = 9 Atributo A = cor Classe = C1 Av3 : amarela Av4 : branca T31 = 10 T41 = 17 31 Cache em tabelas São criados dois tipos de cache: Cache 1 - para cada atributo, são criadas tabelas contendo todas as tuplas cujos valores correspondem aos vértices de mais alto nível (imediatamente abaixo da raiz). C1 = (ID_tupla, Valor, Classe) SET 2003 32 Cache em tabelas (cont.) São criados dois tipos de cache: Cache 2 - para cada regra é criada uma tabela que contém todas as tuplas que satisfazem a regra. C2 = (ID_tupla) Uma regra especializada pela adição de mais um atributo: C2 C1 SET 2003 33 Geração de Hierarquias Numéricas Abordagem de baixo para cima. Agrupa valores individualmente em intervalos. Critério: menor aumento na entropia. Sucessivamente, os intervalos são agrupados seguindo o mesmo critério, até formar o vértice raiz. Vértice raiz vai do menor ao maior valor existente no BD. SET 2003 34 Geração de Hierarquias Numéricas 10 ~ 60 33 ~ 60 10 ~ 27 10 SET 2003 25 53 ~ 60 33 ~ 40 25 ~ 27 27 33 40 53 60 35 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) SET 2003 36 Algoritmo implementado utiliza SGBD PostgresSQL onde são armazenadas as hierarquias de conceitos e o BD para a execução do algoritmo, o BD 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. SET 2003 37 FIM Hierarquia de Esquema Rua Bairro Cidade Estado Paissandu Flamengo Rio de Janeiro RJ Matão Cid Universitária São Paulo SP rua bairro cidade estado estado cidade bairro rua Hierarquia entre valores do atributo província região país Província AB BC MB SK ON QC Hierarquia entre valores do atributo 10000 - 75000 10000 - 40000 10000 - 25000 25000 - 40000 Esta do RJ SP MG ES PR RS SET 2003 40000 - 75000 40000 - 55000 55000 - 75000 Re nda 32100 25500 25403 70000 12500 50000 41 Hierarquia condicional qualquer forte fraco ruim regular excelente R2 R1 0.0 ~ 4.5 muito bom 4.5 ~ 6.5 R1 = {4.5 ~ 6.5} pós-graduação ruim R2 = {4.5 ~ 6.5} graduação regular