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 AC 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