REGRAS NEGATIVAS DE ASSOCIAÇÃO EM MINERAÇÃO DE DADOS *1 Carlos Rodrigo Dias *2 Paulo Alceu d´ Almeida Rezende Resumo. A mineração de dados vem despertando um crescente interesse em todas as áreas e comunidades, pois toda empresa necessita de informações. Dentre os principais tipos de informações que podem ser mineradas destaca–se a extração de regras de associação, que consiste em encontrar conjunto de regras de itens que ocorram simultaneamente e de forma freqüente em uma base de dados. Diversos tipos de associações foram definidos e diferentes algoritmos têm sido propostos para tratar cada uma destas variações. Dentre estes tipos, encontra-se a extração de regras de associações negativas, que é o objetivo e tema desse trabalho. Uma regra negativa são regras que analisam transações que não ocorreram em um determinado contexto, ou seja, por exemplo: um cliente que não compra certo produto compra outro produto. PALAVRAS-CHAVE: Computação, Mineração de dados, Base de Dados, Regras de Associação, Regras Negativas. Abstract. The mining of data comes an increasing interest in all the areas and communities, therefore all company needs information. Amongst the main types of information that can be mining it is distinguished extraction of association rules, which consist of finding set of rules of item that occur simultaneously and frequent form in a database. Diverse types of associations had been defined and different algorithms have been considered to deal with each one these variations. Amongst these types, it meets extraction of rules of negative associations, which is the objective and subject of this work. A negative rule is rules that analyze transactions that had not occurred in one definitive context, that is, for example: a customer who not purchases certain product purchase another product. KEY-WORDS: Computing, Data Mining, Database, Association rules, negative rule. *1 Mestre em Computação, Universidade Federal Fluminense, [email protected]. *2 Especialista em Banco de Dados, Centro de Ensino Superior de Juiz de Fora, [email protected]. 1. INTRODUÇÃO A evolução na área de banco de dados propiciou o aumento da quantidade de dados armazenados nas empresas. Assim, a partir do início da década de 90 pesquisadores intensificaram suas pesquisas para estratégias específicas, informações importantes ocultas poderiam ser extraídas na forma de regras. Surgiu então uma nova proposta com esse objetivo – a Mineração de Dados. Então para entender este novo conceito, surge uma nova área denominada KDD que consiste no acrônimo Knowledge Discovery in Database, (Descoberta de conhecimento em Base de Dados). Segundo Goldschmidt (2005) o termo KDD foi formalizado em 1989 e uma de suas definições mais populares foi proposta em 1996 por um grupo de pesquisadores Fayyad (1996): “KDD é um processo, de várias etapas, não trivial, interativo e iterativo, para identificação de padrões, validos, novos e potencialmente úteis a partir de grandes conjuntos de dados”. Segundo Mendes (2002) a mineração de dados é a principal fase da descoberta de dados em uma Base de dados. Em destaque esta diferença entre a hierarquia de dados na Figura 1.1 abaixo. Consciência Se Capacidade Mensal de Endividamento > 60% Conhecimento Capacidade Mensal de Endividamento = 100*(Renda Mensal - Despesas Mensais)/ Informação Dados Renda Mensal, Despesas Mensais. Figura 1.1 – Hierarquia entre dados, informação e conhecimento (GOLDSCHMIDT (2005)) Para entender melhor o que é mineração de dados pode se destacar a atividade do KDD que, segundo Goldschmidt (2005) é: o desenvolvimento tecnológico que abrange as iniciativas de concepção, aprimoramento de desenvolvimento de algoritmos e ferramentas e a execução do KDD que é a atividade voltada para busca de conhecimento na base de dados. Também no KDD que se utilizam as ferramentas desenvolvidas no desenvolvimento tecnológico e também é onde ocorre a aplicação dos resultados: que é a atividade em que se aplica o resultado no contexto em que foi realizado o processo de KDD. 1.1 Os Principais Componentes do KDD Segundo Goldschimidt (2005) os principais componentes do KDD são: o problema: conjunto de dados, especialista no domínio da aplicação e os objetivos da aplicação; os recursos disponíveis: especialista em KDD; plataforma computacional e ferramentas; e os resultados obtidos: modelo do conhecimento e históricos. 1.2 O Processo de KDD Goldschimidt (2005) divide o processo de KDD em três etapas: préprocessamento, mineração de dados e pós-processamento. Cada uma destas etapas é definida por Goldschimidt (2005) como: pré-processamento: que consiste primeiramente na seleção de dados/redução de dados, ou seja, identificar quais informações devem ser efetivamente consideradas. Depois deve ser feita a limpeza de dados, ou seja, retirar informações desnecessárias a fim de assegurar qualidade no processo. Encontra-se também nesta etapa a codificação/enriquecimento/normalização de dados que ajudam a eficácia do projeto; a mineração de dados consiste na busca efetiva por conhecimento úteis no contexto da aplicação do KDD. Vai ser mais sobre ela no próximo na Seção 2.3. pós-processamento: é um tratamento nos conhecimentos obtidos com o objetivo de facilitar a interpretação e avaliação pelo homem. Essa etapa envolve a visualização, a análise e interpretação do modelo de conhecimento gerado pela etapa de mineração de dados. Existem nesta etapa: simplificações/transformações do modelo de conhecimento e apresentação de resultados. Para melhor entendimento a Figura 1.2 abaixo representa as etapas do KDD. ETAPAS OPERACIONAIS DE KDD PRÉ- PROCESSAMENTO PROCESSAMENTO PRÉMINERAÇÃO DE DADOS PÓSPROCESSAMENTO Figura 1.2 – Etapas operacionais do processo de KDD (GOLDSCHMIDT, 2005) 1.3 As Tarefas da Mineração de Dados Segundo Rezende (2003), com o grande número de sistemas de mineração de dados desenvolvidos para os mais diferentes domínios, a variedade de tarefas para mineração de dados vem se tornando cada vez mais diversificada. Essas tarefas podem extrair diferentes tipos de conhecimento, sendo necessário decidir no início do processo de mineração de dados qual o tipo de conhecimento que o algoritmo deve extrair. As atividades de descrição procuram padrões interpretáveis pelos humanos que descrevem os dados antes de realizar a previsão. Essa tarefa visa o suporte decisão. A seguir estão listadas as principais tarefas da mineração de dados (GOLDSCHMIDT, 2005): associação: abrange a busca por itens que freqüentemente ocorram de forma simultânea em transações de banco de dados. É conhecida como extração de regras de associação; classificação: consiste em descobrir uma função que mapeie os registros em um conjunto de rótulos categóricos predefinidos, denominado classes; clusterização (ou agregação / segmento de dados): consiste em separar registros de uma base de dados em subconjuntos ou clusters, de tal forma que os elementos de um cluster compartilhem de propriedades comum que os distingam de elementos em outros clusters; regressão: compreende a busca por uma função que mapeie os registros de um banco de dados em valores reais; sumarização: consiste em procurar identificar e indicar características comuns em um conjunto de dados; seqüências: é a descoberta de associações buscando itens freqüentes ocorridas ao longo de um período de tempo. Dentre os principais tipos de informações que podem ser mineradas a tarefa de extração de regras de associação, pois consiste em encontrar conjunto de regras de associação de itens que ocorram simultaneamente e de forma freqüente em uma base de dados. No próximo capítulo é dado um foco mais atencioso neste tipo de tarefa. 2. EXTRAÇÃO DE REGRAS DE ASSOCIAÇÃO Dentre os principais tipos de informações que podem ser minerados citados na Seção 2.3, destaca–se a tarefa clássica de extração de regras de associação (também denominadas regras associativas). Esta tarefa consiste em encontrar conjunto de regras de associação de itens que ocorram simultaneamente e de forma freqüente em uma base de dados. Existe um grande problema das descobertas de associações: estas podem ter corrido ao acaso, como no exemplo de Alencastro, Seeman e Dias (2005). Neste exemplo é considerada a hipótese de que mais cegonhas determinam um maior número de nascimentos de crianças. Isto pode ser confirmado ao serem analisadas correlações nos dados sobre ninhos de cegonhas e taxa de natalidade de algumas regiões da Suécia (através de métodos estatísticos). Porém, existe uma terceira variável que foi descoberta na análise: a quantidade de chaminés. Em áreas urbanas onde se tem taxa de nascimento mais altas encontra-se também mais chaminés onde as cegonhas fazem seus ninhos. Então se percebe que é extremamente necessário estudar corretamente a teoria da associação antes de tentar medir, ou provar alguma coisa. 2.1 A Descoberta da Associação Segundo Goldschmidt (2005) e Mendes (2002), a extração de regra de associação é a busca de itens que freqüentemente ocorram de forma simultânea em transações de banco de dados. Um exemplo clássico e didático da aplicação dessa tarefa é na área de marketing (análises de transações de compras “market basket analisys”): durante um processo de descoberta de associações em sua vasta base de dados, um número razoável de compradores de fralda também comprava cerveja na véspera de finais de semana como jogos transmitidos pela televisão (ALENCASTRO, SEEMAN e DIAS, 2005). Com uma análise mais detalhada sobre os dados, pode-se perceber que tais compradores eram, na realidade, homens que, ao comprarem fraldas para seus filhos, compravam também cerveja para consumo enquanto cuidavam das crianças e assistiam aos jogos na televisão durante o final de semana. Este exemplo ilustra a associação entre fraudas e cervejas. Esta empresa utilizou o novo conhecimento para aproximar gôndolas de fraudas e cervejas na rede de mercados, incrementado assim a venda conjunta dos produtos (GOLDSCHMIDT, 2005). Também pode ser citado outro exemplo: “O cliente que compra carne e carvão, 75% das vezes, compra cerveja” (GOLDSCHMIDT, 2005). Regras de associação representam relacionamentos entre itens de dados do domínio da aplicação que ocorrem com determinada freqüência nas transações armazenadas, ou seja, representam padrões. (ALENCASTRO, SEEMAN e DIAS, 2005) 2.2 Transações É importante definir a base de dados de transações como um conjunto de transações que são formadas por um identificador e por um conjunto de itens de dados. (MENDES, 2002). Dependendo da aplicação, uma transação pode representar, por exemplo, os produtos comprados por um cliente em uma determinada loja em uma determinada data, ou pode representar até as doenças apresentadas por determinados pacientes em um hospital. Segundo Mendes (2002), a base de dados de transações é definida por: Seja I={i1,i2,...,in}, n≥1, o conjunto de itens do domínio da aplicação: uma base de dados de transações B = {t1,t2,...,tm}, m≥1, é um conjunto de transações do domínio da aplicação; cada transação ti, 1≤i≤m, é formada por um identificador ti.ID e por um conjunto de itens ti.X tal que ti.X⊆I. O exemplo fictício a seguir representa uma base de dados de transações de compras em uma loja de eletrônicos, na qual cada linha representa uma transação. ID Itens Comprados {(1, {Scanner, Maquina Digital, Som}), (2, {Telefone, Computador}), (3, {Computador, Impressora, Scanner, Som}), (4, {Computador, Impressora, Scanner, Máquina Digital}), (5, {Impressora, Scanner, Som}), (6, {Computador, Impressora, Scanner})} Figura 3.1 – Base de dados de transações (MENDES, 2002) Cada transação é constituída por um identificador e por um conjunto de produtos adquiridos por um cliente. 2.3 Regra de Associação Segundo Mendes (2002) uma regra de associação é definida por: Seja I={i1,i2,...,in}, n≥1, o conjunto de itens do domínio da aplicação. Uma regra de associação R definida sobre I é uma implicação da forma X ⇒ Y, tal que: X⊂I, Y⊂I, X≠∅, Y≠∅ e X∩Y=∅. X é chamado o antecedente e Y, o conseqüente de R. Considere a base de dados de transações ilustrada na Figura 3.1. A regra de associação {computador, impressora} → {scanner} indica que se o cliente compra {computador, impressora}, com um determinado grau de certeza, compra também um {scanner}. O grau de certeza de uma regra é normalmente definido por dois índices: o fator de suporte e o fator de confiança. 2.4 O Fator de Suporte Segundo Mendes (2002) o fator de suporte de uma regra X → Y representa a porcentagem de transações que contêm os itens de X e os itens de Y, ou seja, representa a fração das transações que satisfazem tanto o antecedente quanto o conseqüente da regra indicando a relevância da regra. Um fator de suporte muito baixo indica que os itens envolvidos na regra aparecem em poucas transações tratando-se de uma regra irrelevante. Considerando: B o número de transações existentes na base de dados. T(X∪Y) a taxa da existência de X e Y nas transações. O suporte de uma regra X ⇒ Y, (Sup(X⇒Y) é dado pela equação da Figura 3.2 Sup( X ⇒ Y ) = T (X ∪Y ) B Figura 3.2 - Fator suporte de uma regra (MENDES, 2002) Considerando a base de dados de transações ilustrada na Figura 3.1, a regra {computador, impressora} → {scanner} possui suporte de 50%. Isto indica que 50% das transações da base de dados incluem os itens {scanner, computador, impressora}. 2.5 O Fator de Confiança O fator de confiança de uma regra X ⇒ Y representa, dentre as transações que contêm os itens de X, a porcentagem das transações que contêm também os itens de Y. Sendo assim esta representa a porcentagem de transações que satisfazem o antecedente e o conseqüente, em relação às transações que satisfazem o antecedente da regra. A confiança indica a validade da regra. Um fator de confiança baixo indica que poucas transações que contêm X realmente apresentam os itens de Y, o que indica a não validade da regra. Segundo Mendes (2002) o fator de confiança de uma regra é definido como: T(X) a taxa da existência de X nas transações. T(X∪Y) a taxa da existência de X e Y nas transações. A confiança de uma regra X ⇒ Y, (Conf(X⇒Y) é dado pela equação da Figura 2.5 Conf ( X ⇒ Y ) = T (X ∪Y ) T (X ) Figura 2.5 – Fator confiança de uma regra (MENDES, 2002). Dado à base de dados de transações ilustrada na Figura 3.1, a regra {computador, impressora} ⇒ {scanner} possui confiança de 75%. Isto indica que 75% das transações que incluem {computador, impressora} também incluem o produto {scanner}. “O processo de mineração de regras de associação consiste, então, em encontrar, a partir de uma base de dados de transações, todas as regras de associação que possuem suporte e confiança maiores ou iguais, respectivamente, a um suporte mínimo (SupMin) e uma confiança mínima (ConfMin) especificados. “ (MENDES, 2002) A partir da base de dados de transações fictícias ilustrada na Figura 3.1, considerando o suporte e confianças mínimos iguais, respectivamente, a 40% e 65%, uma estratégia de mineração de regras de associação geraria as regras indicadas na Figura 2.6, com os respectivos valores de suporte e de confiança: Regra Suporte (%) Confiança (%) {computador} ⇒ {impressora} 50 75 {computador} ⇒ {scanner} 50 75 {impressora} ⇒ {computador} 50 75 {impressora} ⇒ {scanner} 67 100 {scanner} ⇒ {impressora} 67 80 {som} ⇒ {scanner} 50 100 {comp.} ⇒ {impr., scanner} 50 75 {impr.} ⇒ {comp., scanner} 50 75 {comp., impr.} ⇒ {scanner} 50 100 {comp., scanner} ⇒ {impr.} 50 100 {impr., scanner} ⇒ {comp.} 50 75 Figura 2.6 – Exemplo de regras de associação com valores para suporte e confiança (MENDES, 2002). Regra Suporte (%) Confiança (%) {scanner} ⇒ {computador} 50 60 {scanner} ⇒ {som} 50 60 {scanner} ⇒ {comp., impr.} 50 60 Figura 2.7 – Resultado (MENDES, 2002). Observe que as regras acima possuem suporte mínimo, porém não possuem confiança mínima e não seriam geradas: 3. Métodos Específicos para Associações A extração de regras de associação, segundo Alencastro, Seeman e Dias (2005) corresponde à obtenção de regas do tipo “se X corre então Y ocorre”, ou seja, X ⇒ Y, onde X e Y correspondem aos eventos que ocorrem com certa freqüência na base de dados. O algoritmo clássico utilizado para este fim (tratar o problema de encontrar padrões referentes a produtos que são comprados, por exemplo) é o algoritmo chamado APRIORI (ALENCASTRO, SEEMAN e DIAS, 2005) O APRIORI é o primeiro algoritmo a tratar efetivamente o problema de extração de regras de associação e identifica dependências na ocorrência de itens de um subconjunto de dados, que é expressa na forma das regras de associação. 3.1 Obtenção dos Conjuntos Freqüentes (Itensets) A partir das idéias apresentadas no algoritmo APRIORI foram criados outros algoritmos como o FP-Growth, DIC, ECLAT, (...), DHP (Direct Hashing and Pruning), Partition, Clique, MaxClique, Cumulate e EstMerge dentre outros. O problema de extração de regras de associação vem sendo tratado com bastante interesse pela comunidade acadêmica nos últimos anos e muitos artigos científicos sobre o assunto vem sendo publicados (ALENCASTRO, SEEMAN e DIAS, 2005). É importante lembrar que mesmo que estes outros algoritmos terem um tempo de execução diferente por serem mais otimizados eles tem como base as idéias principais do algoritmo APRIORI. Quando o algoritmo APRIORI foi proposto, foi apresentada uma importante propriedade dos conjuntos freqüentes. Esta propriedade diz, segundo Alencastro, Seeman e Dias (2005), que todo subconjunto de um conjunto freqüente também é freqüente. Com esta propriedade, o problema de encontrar um conjunto freqüente contendo n itens (referenciado também como conjuntos de tamanho n) passa a ser o problema de encontrar primeiro os seus subconjuntos que se dá muitas vezes. Como o menor subconjunto com algum item é o subconjunto de tamanho 1 (contendo apenas 1 produto), então o primeiro passo é encontrar todos os produtos que ocorrem na base de dados com freqüência igual ou superior ao valor de SubMin1. Considere a 1 O processo de mineração de regras de associação consiste em encontrar todas as regras de associação que possuem suporte maiores ou iguais a um suporte mínimo (SupMin) especificados. base de dados de transações ilustrada na Figura 3.1.e o valor do SupMin1 sendo igual a 0,5 (50%), ou seja, é desejável encontrar os conjuntos freqüentes com suporte maior ou igual a 0,5. Pode-se verificar na Tabela 3.1 que os itens Scanner, Som, Impressora e Computador atendam ao suporte mínimo, portanto são os conjuntos freqüentes de tamanho 1. Já os itens de 2 e 4 (Telefone e Máquina Digital) foram descartados. Tabela 3.1 – Conjunto de itens de tamanho 1 Nº 1 2 3 4 5 6 CONJUNTO DE ITEMS Scanner Máquina Digital Som Telefone Impressora Computador NÚM. DE TRANSAÇÕES 5 2 3 1 4 4 SUPORTE 5/6=0,83 2/6=0,33 3/6=0,50 1/6=0,16 4/6=0,66 4/6=0,66 % 83% 33% 50% 16% 66% 66% Para o APRIORI o próximo passo é a geração dos possíveis conjuntos de tamanho k+1 (conjuntos candidatos) para em seguida seja verificado se eles são freqüentes ou não. Verifica-se na Tabela 3.2 abaixo que foi utilizado o recurso da ‘poda’ na qual evita consumir recursos computacionais e sendo capaz de eliminar uma fração de conjuntos de itens sem ser necessário medir o suporte daqueles conjuntos de itens. Ou seja, foram comparados uns subconjuntos de itens anteriores que são pertencentes aos novos conjuntos de itens. Considere como não freqüentes os conjuntos de itens de nº: 4 e 5 {Maquina Digital, Som}, {Maquina Digital, Impressora}, {Maquina Digital, Computador} e {Som, Computador}. Tabela 3.2 – Conjunto de itens de tamanho 2. Nº 1 2 3 4 5 6 CONJUNTO DE ITEMS Scanner, Som Scanner, Impressora Scanner, Computador Som, Impressora Som, Computador Computador, Impressora NÚM. DE TRANSAÇÕES SUPORTE 3 3/6=0,50 4 4/6=0,66 3 3/6=0,50 2 2/6=0,33 1 1/6=0,16 3 3/6=0,50 % 50% 66% 50% 33% 16% 66% Verifique na Tabela 3.3 que também foi utilizado o recurso da ‘poda’ novamente. Sendo assim pode-se considerar como freqüente os conjuntos de itens de nº: 3: {Scanner, Impressora, Computador}. Tabela 3.3 – Conjunto de itens de tamanho 3. Nº 1 2 3 4 CONJUNTO DE ITEMS NÚM. DE TRANS. Scanner, Som, Impressora 2 Scanner, Som, Computador 1 Scanner, Impressora, Computador 3 Som, Impressora, Computador 1 SUPORTE 2/6=0,33 1/6=0,16 3/6=0,50 1/6=0,16 % 33% 16% 50% 16% 3.2 Geração das Regras a Partir dos Conjuntos de Itens Freqüentes. Após a conclusão da etapa de obtenção dos conjuntos freqüentes na base de dados, devem ser geradas as regras de associação. Verificamos as possíveis regras: Tabela 3.4 – Possíveis regras CONJUNTOS FREQÜENTES Scanner, Som Scanner, Impressora Scanner, Computador Computador, Impressora Scanner, Impressora, Computador. REGRAS Scanner ⇒Som Som ⇒ Scanner Scanner ⇒ Impressora Impressora ⇒ Scanner Scanner ⇒ Computador Computador ⇒ Scanner Computador ⇒ Impressora Impressora ⇒ Computador Scanner ⇒ Impressora, Computador Impressora ⇒ Scanner, Computador Computador ⇒ Impressora, Scanner Scanner, Impressora ⇒ Computador Impressora, Computador ⇒ Scanner Scanner, Computador ⇒ Impressora É perceptível que o número de regras possíveis de serem geradas a partir dos conjuntos de itens pode se tornar muito grandes, principalmente quando se tem conjunto freqüente de tamanho superior a dois. Para isso são necessários critérios ou medidas especificadas por quem esta minerando que possam identificar as possíveis regras de associação mais interessantes. 3.3 Outras Métricas Utilizadas Existe um problema de mineração de regras de associação que tem recebido uma considerável atenção e diversos trabalhos que tratam da mineração dessas regras. Na maioria das vezes são identificadas as regras de associação consideradas interessantes segundo diversas métricas que definem o interesse de uma regra. Neste trabalho, as regras de associação encontradas são analisadas, utilizando informações especificadas sobre o domínio da aplicação e, então, ordenadas de acordo com as métricas de interesse apresentadas. (ALENCASTRO, SEEMAN e DIAS, 2005). Outras medidas de Interesses utilizadas para a geração de regras de associação são apresentadas a seguir: (ALENCASTRO, SEEMAN e DIAS, 2005). O lift foi chamado inicialmente de interest e é utilizada para avaliar o grau de dependência do conseqüente em relação ao antecedente de uma regra, correspondendo a: (SERGEY, 1997). O lift de uma regra X ⇒ Y, (Lift(X⇒Y) é dado pela equação da Figura 3.6. Lift ( X ⇒ Y ) = T (X ∪Y ) Conf ( X ⇒ Y ) = T ( X ) × T (Y ) T (Y ) Figura 3.6 – Fator lift de uma regra (SERGEY, 1997) O lift indica quão mais freqüente torna-se B quando A ocorre. Se lift (X⇒Y)=1, a ocorrência dos itens do conseqüente é estatisticamente independente da ocorrência dos itens do antecedente, e vice-versa. Se lift (X⇒ Y) >1, então os itens do antecedente e conseqüente são positivamente dependentes. Se lift (X ⇒ Y)< 1, os itens do antecedente e conseqüente são negativamente dependentes (SERGEY, 1997). O coverage indica a proporção de transações em que estão presentes os itens que compõem o antecedente da regra, ou seja, o coverage de uma regra X ⇒ Y, (Coverage(X⇒Y) é dado pela equação da Figura 3.7 (PIATETSKY e FRAWLEY, 1991). Coverage( X ⇒ Y ) = T ( X ) Figura 3.7 – Fator coverage de uma regra (PIATESTSKY e FRAWLEY, 1991) O leverage corresponde à diferença entre as ocorrências dos itens dos antecedentes X e do conseqüente Y juntos em uma mesma transação e a ocorrência esperada dos itens de X e Y caso estes sejam estatisticamente (HAN e KAMBER, 2000). O leverage de uma regra X ⇒ Y, (Leveraje(X⇒Y) é dado pela equação da Figura 3.8. Leverage( X ⇒ Y ) = T ( X ∪ Y ) − (T ( X ) × T (Y )) Figura 3.8 – Fator leverage de uma regra (HAN e KAMBER, 2000) 3.4 Aplicação de Métricas A partir da escolha de uma medida de interesse mas adequada ou de preferência por quem esta minerando, cada regra de associação possível de ser gerada pode ser avaliada e aquelas que não atendam a um valor mínimo definido, passado como parâmetro para ao algoritmo, são descartadas. Na Tabela 3.5 verifica-se o uso de medidas como a confiança e o Lift. Supondo que a ConfMin seja igual a 1 (válidos iguais a 100%) e nosso LiftMin seja 1,5: Nº 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Tabela 3.5 – Regras e métricas correspondentes. Regras Confi. % Lift 3/5=0,60 60% 0,60/0,50=1,20 Scanner ⇒ Som 3/3=1,00 100% 1,00/0,83=1,20 Som ⇒ Scanner 4/5=0,80 80% 0,80/0,66=1,21 Scanner ⇒ Impressora 4/4=1,00 100% 1,00/0,83=1,20 Impressora ⇒ Scanner 3/5=0,60 60% 0,60/0,66=0,90 Scanner ⇒ Computador 3/4=0,75 75% 0,75/0,83=0,90 Computador ⇒ Scanner 2/3=0,66 66% 0,66/0,66=1,00 Som ⇒ Impressora 2/4=0,50 50% 0,50/0,50=1,00 Impressora ⇒ Som 3/4=0,75 75% 0,75/0,66=1,13 Computador ⇒ Impressora 3/4=0,75 75% 0,75/0,66=1,13 Impressora ⇒ Computador Scanner ⇒ Impressora, Computador 3/5=0,60 60% 0,60/0,50=1,20 Impressora ⇒ Scanner, Computador 3/4=0,75 75% 0,75/0,50=1,50 Computador ⇒ Impressora, Scanner 3/4=0,75 75% 0,75/0,66=1,13 Scanner, Impressora ⇒ Computador 3/4=0,75 75% 0,75/0,66=1,13 Impressora, Computador ⇒ Scanner 3/3=1,00 100% 1,00/0,83=1,20 Scanner, Computador ⇒ Impressora 3/3=1,00 100% 1,00/0,66=1,51 Na Tabela 3.5 são apresentadas como possíveis regras considerando como métrica a confiança as {Som ⇒ Scanner}, {Impressora, Computador ⇒ Scanner} e {Scanner, Computador ⇒ Impressora}. Já considerando como métrica o lift tem-se, {Impressora ⇒ Scanner, Computador} e {Scanner, Computador ⇒ Impressora}. 4 EXTRAÇÃO DE REGRAS DE ASSOCIAÇÃO NEGATIVAS Diversos tipos de regras de associação foram definidos e diferentes algoritmos têm sido propostos para tratar cada uma destas variações. Dentre os tipos de regras de associação não convencionais, encontram-se as regras negativas, introduzidas em Savarege (1998). Um exemplo de uma regra negativa poderia ser: a maior parte dos compradores de computadores não compra maquina digital. Esta abordagem segundo Mendes (2002) não parece adequada, pois um número extremamente grande de regras deste tipo (muitas sem nenhuma ou com pouca importância) seria extraído de uma base de dados de transações. A partir de uma base de dados que contém transações, associações negativas entre itens podem ser mineradas pois dependendo do contexto em que foi aplicada esta tem grande utilidade. Uma abordagem simples para obtenção deste tipo de regra consiste em estender cada transação da base de dados, representando a ausência de um item pela sua forma negativa, ou seja, não impressora ou {¬impressora}. Então, uma estratégia de mineração de regras de associação poderia ser aplicada na base de dados de transações para a extração de regras negativas. 4.1 A Descoberta da Associação Negativa Em Savasare (1998) foi apresentada uma proposta que reduz o espaço de pesquisa, extraindo regras mais interessantes e significativas. Nesta abordagem, uma regra de associação negativa é extraída de uma base de dados de transações se o seu suporte for significativamente inferior a uma determinada expectativa calculada. Um exemplo que se pode apresentar ilustra que a regra de associação negativa impressora ⇒ ¬scanner} pode ser inferida se a regra (convencional) ⇒ {impressora} {scanner} possuir um suporte muito inferior ao da regra (convencional) {impressora} ⇒ {computador} se o esperado seria terem suportes semelhantes, pois scanner e computador possuem a mesma categoria refrigerante dentro da taxonomia. Em muitas aplicações a taxonomia, que define a hierarquia de classes dos itens do domínio da aplicação, pode não estar presente. A expectativa de ocorrência de uma regra está baseada na exploração de atributos da relação que não fazem parte da regra. Considerando, por exemplo, uma relação contendo informações sobre clientes, poderia ser minerada a regra de associação relacional: clientes do sexo feminino com idade entre 20 e 30 anos possuem filhos. Se fosse considerado outro atributo da relação, como por exemplo, o atributo salário, poderia ser obtido a seguinte regra de associação relacional negativa: não é verdade que clientes do sexo feminino com idade entre 20 e 30 anos e que ganham um salário maior do que 20 salários mínimos possuem filhos. Esta regra negativa poderia ser inferida a partir da regra positiva anterior se possuísse suporte significativamente inferior a uma expectativa. A expectativa de ocorrência da regra é definida a partir da avaliação da ocorrência do valor do atributo salário em relação aos valores dos outros atributos que compõem a regra positiva anterior. (MENDES, 2002). 4.2 O Problema da Negação em Regras de Associação A partir de uma base de dados que contém transações, associações negativas entre itens podem ser mineradas. Um exemplo deste tipo de regra de associação poderia ser: A maior parte dos consumidores de café não compra leite. Ou ainda: 60% dos clientes que compram adoçantes não compram açúcar. Uma abordagem simples para obtenção de tais regras consiste em estender cada transação da base de dados, representando a ausência de um item pela sua forma negativa conforme Hipótese do Mundo Fechado de Reiter (1978). De acordo com a Hipótese do Mundo Fechado, o mundo é fechado no sentido que tudo o que existe está no contexto ou pode ser dele derivado. Assim, se alguma coisa não está no programa (ou não pode ser dele derivada), então não é verdadeira e conseqüentemente a sua negação é verdadeira. Para ficar mais claro, um exemplo seria um cliente que compra os itens Computador e Impressora, pelo mundo fechado, compra os itens (Computador, Impressora, não Scanner, não Som, não Máquina Digital, não Telefone). Então, uma estratégia de mineração de regras de associação convencional poderia ser aplicada na base de dados de transações para a extração de regras de associação negativas. A Figura 4.1 corresponde a uma base de dados de transações de compras em um supermercado, na qual cada linha representa uma transação. ID Itens Comprados {(1, {café,pão,torrada}), (2, {leite,pão,suco,torrada}), (3, {café,pão}), (4, {chá,pão,torrada}), (5, {pão,refrigerante}), (6, {cerveja,pão})} Figura 4.1 – Exemplo de base de dados de transações (Fonte: MENDES, 2002) Um exemplo de uma regra de associação negativa extraída da base de dados da Figura 4.1 poderia ser: {torrada} ⇒ {¬café}. Considere I={café,cerveja,chá,leite,pão,refrigerante,suco,torrada} o conjunto de itens do domínio da aplicação e estendendo as transações de forma a representar a ausência de um item pela sua forma negativa, a partir da Figura 4.1 deriva-se a base de dados apresentada na Figura 4.2. ID Transações Estendidas {(1, {café,pão,torrada,¬cerveja,¬chá,¬leite,¬refrigerante,¬suco}), (2, {leite,pão,suco,torrada,¬café,¬cerveja,¬chá,¬refrigerante}), (3, {café,pão,¬cerveja,¬chá,¬leite,¬refrigerante,¬suco,¬torrada}), (4, {chá,pão,torrada,¬café,¬cerveja,¬leite,¬refrigerante,¬suco}), (5, {pão,refrigerante,¬café,¬cerveja,¬chá,¬leite,¬suco,¬torrada}), (6 {cerveja,pão,¬café,¬chá,¬leite,¬refrigerante,¬suco,¬torrada})} Considere suporte mínimo de 30% e confiança mínima de 65%. Figura 4.2 – Exemplo de forma negativa (MENDES, 2002) Considerando o exemplo de transações, da Figura 3.1, a forma negativa ficaria como mostrada na Figura 4.3. ID Itens Comprados {(1, {Scanner, Maquina Digital, Som, ¬Telefone, ¬Computador, ¬Impressora}), (2, {Telefone, Computador, ¬Maquina Digital, ¬Som, ¬Scanner, ¬Impressora }), (3, {Computador, Impressora, Scanner, Som, ¬Maquina Digital, ¬Telefone}), (4, {Computador, Impressora, Scanner, Máquina Digital, ¬Som, ¬Telefone }), (5, {Impressora, Scanner, Som, ¬Computador, ¬Maquina Digital, ¬Telefone }), (6, {Computador, Impressora, Scanner, ¬Maquina Digital, ¬Som, ¬Telefone })} Figura 4.3 – Forma negativa da base de dados da Figura 3.1 Uma estratégia de mineração de regras de associação convenciona geraria as seguintes regras: {café} ⇒ {pão} e {torrada} ⇒ pão}. Outras regras, envolvendo itens na sua forma negativa, também podem ser geradas. Considere X e Y, conjunto de itens da base de dados de transações. E o suporte mínimo igual a 30% e a confiança mínima igual a 65%, seriam geradas as seguintes regras tamanho 2 indicado na Figura 3.4. As regras geradas de tamanho 3 ou superior não estão indicadas na Figura 4.4. - Regras do tipo {X} ⇒ {¬Y}: {café} ⇒ {¬cerveja} {café} ⇒ {¬chá} {café} ⇒ {¬leite} {café} ⇒ {¬refrigerante} {café} ⇒ {¬suco} {pão} ⇒ {¬suco} - Regras do tipo {¬X} ⇒ {Y}: {¬café} ⇒ {pão} {¬cerveja} ⇒ {pão} {¬chá} ⇒ {pão} {¬leite} ⇒ {pão} {¬refrigerante} ⇒ {pão} {¬suco} ⇒ {pão} {¬torrada} ⇒ {pão} - Regras do tipo {¬X} ⇒ {¬Y}: {pão} ⇒ {¬café} {pão} ⇒ {¬cerveja} {pão} ⇒ {¬chá} {pão} ⇒ {¬leite} {pão} ⇒ {¬refrigerante} {torrada} ⇒ {¬suco} {torrada} ⇒ {¬café} {torrada} ⇒ {¬cerveja} {torrada} ⇒ {¬chá} {torrada} ⇒ {¬leite} {torrada} ⇒ {¬refrigerante} {¬café} ⇒ {¬cerveja} {¬café} ⇒ {¬chá} {¬café} ⇒ {¬leite} {¬café} ⇒ {¬refrigerante} {¬café} ⇒ {¬suco} {¬cerveja} ⇒ {¬chá} {¬chá} ⇒ {¬cerveja} {¬cerveja} ⇒ {¬leite} {¬chá} ⇒ {¬leite} {¬cerveja} ⇒ {¬refrigerante} {¬chá} ⇒ {¬refrigerante} {¬cerveja} ⇒ {¬suco} {¬chá} ⇒ {¬suco} {¬leite} ⇒ {¬cerveja} {¬leite} ⇒ {¬chá} {¬leite} ⇒ {¬refrigerante} {¬leite} ⇒ {¬suco} {¬refrigerante} ⇒ {¬cerveja} {¬suco} ⇒ {¬cerveja} {¬refrigerante} ⇒ {¬chá} {¬suco} ⇒ {¬chá} {¬refrigerante} ⇒ {¬leite} {¬suco} ⇒ {¬leite} {¬refrigerante} ⇒ {¬suco} {¬suco}⇒ {¬refrigerante} {¬torrada} ⇒ {¬café} {¬torrada} ⇒ {¬cerveja} {¬torrada} ⇒ {¬chá} {¬torrada} ⇒ {¬leite} {¬torrada} ⇒ {¬refrigerante} {¬torrada} ⇒ {¬suco} Figura 4.4 – Regras geradas (MENDES, 2002) Porém, o tratamento da negação apresentado não parece adequado, pois um número extremamente grande de regras envolvendo a negação − muitas sem nenhuma ou com pouca importância − é extraído da base de dados de transações. Considere o exemplo anterior, os seguintes problemas foram observados: os itens cerveja, chá, leite, refrigerante e suco aparecem em poucas transações (em apenas uma transação), resultando em: diversas regras envolvendo a negação destes itens e outros itens que aparecem significativamente na base de dados, como por exemplo, as regras {¬leite} ⇒ {pão} e {torrada} ⇒ {¬cerveja}; diversas regras envolvendo a negação destes itens, como por exemplo, a regra {¬cerveja} ⇒ {¬refrigerante}. se a confiança mínima fosse de 50%, então seriam geradas as regras {pão} ⇒ {torrada} e {pão} ⇒ {¬torrada}, que conduzem a informações contraditórias. as regras {café} ⇒ {pão} e {pão} ⇒ {¬café} foram geradas e conduzem a informações conflitantes. além de um número extremamente grande de regras de associação serem geradas, entender as transações com os itens negados pode aumentar significativamente a base de dados e, conseqüentemente, prejudicar o desempenho do algoritmo de extração de regras de associação. Uma questão importante passa a ser então definir um tratamento adequado para a negação em mineração de regras de associação. Em SAVASARE (1998), foi apresentada uma proposta para esta questão. A seção seguinte apresenta esta proposta. Utilizando o exemplo da base de dados de transações em forma negativa temos apresentada na Figura 4.3, os valores de suporte calculados para os conjuntos de itens são apresentados nas Tabelas 4.1 e 4.2. Tabela 4.1 – Conjunto de itens de tamanho 1 trabalho com forma negativa CONJUNTO DE ITEMS Scanner Maquina Digital Som Telefone Impressora Computador ¬Scanner ¬Maquina Digital ¬Som ¬Telefone ¬Impressora ¬Computador NÚM. DE TRANSAÇÕES 5 2 3 1 4 4 6-5=1 6-2=4 6-3=3 6-1=5 6-4=2 6-4=2 SUPORTE 5/6=0,83 2/6=0,33 3/6=0,50 1/6=0,16 4/6=0,66 4/6=0,66 1/6=0,16 4/6=0,66 3/6=0,50 5/6=0,83 2/6=0,33 2/6=0,33 % 83% 33% 50% 16% 66% 66% 16% 66% 50% 83% 33% 33% Tabela 4.2 – Conjunto de itens de tamanho 2, trabalho com forma negativa. CONJUNTO DE ITEMS ¬Scanner, Maquina Digital ¬Scanner, Som ¬Scanner, Telefone ¬Scanner, Impressora ¬Scanner, Computador ¬Scanner, ¬Maquina Digital ¬Scanner,¬Som ¬Scanner,¬Telefone ¬Scanner,¬Impressora ¬Scanner, ¬Computador ¬Maquina Digital, Scanner ¬Maquina Digital, Som ¬Maquina Digital, Telefone ¬Maquina Digital, Impressora. ¬Maquina Digital, Computador. ¬Maquina Digital, ¬Som ¬Maquina Digital, ¬Telefone ¬Maquina Digital, ¬Impressora ¬Maquina Digital, ¬Computador ¬Som, Scanner ¬Som, Maquina Digital ¬Som, Telefone ¬Som, Impressora ¬Som, Computador ¬Som, ¬Telefone Nº TR 0 0 1 0 0 1 1 0 0 0 3 2 1 3 3 2 3 1 1 2 1 1 2 3 2 SUPORTE 0/6=0,00 0/6=0,00 1/6=0,16 0/6=0,00 0/6=0,00 1/6=0,16 1/6=0,16 0/6=0,00 0/6=0,00 0/6=0,00 3/6=0,50 2/6=0,33 1/6=0,16 3/6=0,50 3/6=0,50 2/6=0,33 3/6=0,50 1/6=0,16 1/6=0,16 2/6=0,33 1/6=0,16 1/6=0,16 2/6=0,33 3/6=0,50 2/6=0,33 % 00% 00% 16% 00% 00% 16% 16% 00% 00% 00% 50% 33% 16% 50% 50% 33% 50% 16% 16% 33% 16% 16% 33% 50% 33% ¬Som, ¬Impressora ¬Som, ¬Computador ¬Telefone, Scanner ¬Telefone, Maquina Digital ¬Telefone, Som ¬Telefone, Impressora ¬Telefone, Computador ¬Telefone, ¬Impressora ¬Telefone, ¬Computador ¬Impressora, Scanner ¬Impressora, Maquina Digital ¬Impressora, Som ¬Impressora, Telefone ¬Impressora, Computador ¬Impressora, ¬Computador ¬Computador, Scanner ¬Computador, Maquina Digital ¬Computador, Som ¬Computador, Telefone ¬Computador, Impressora 1 0 5 2 3 4 3 1 2 1 1 1 1 1 1 2 1 2 0 1 1/6=0,16 0/6=0,00 5/6=0,83 2/6=0,33 3/6=0,50 4/6=0,66 3/6=0,50 1/6=0,16 2/6=0,33 1/6=0,16 1/6=0,16 1/6=0,16 1/6=0,16 1/6=0,16 1/6=0,16 2/6=0,33 1/6=0,16 2/6=0,33 0/6=0,00 1/6=0,16 16% 00% 83% 33% 50% 66% 50% 16% 33% 16% 16% 16% 16% 16% 16% 33% 16% 33% 00% 16% 4.3 Regras de Associação Negativas Em Savasare (1998), foi proposto um tratamento para a negação em regras de associação em que uma regra de associação negativa é interessante, ou seja, deve ser extraída de uma base de dados de transações, se o seu suporte estiver abaixo de uma determinada expectativa. A expectativa de ocorrência de um determinado conjunto de itens está baseada na existência de uma taxonomia que classifica hierarquicamente os itens da base de dados de transações do domínio da aplicação. Nesta abordagem, espera-se, por exemplo, que itens filhos de um mesmo pai (itens de uma mesma classe) se associem de forma similar a outros itens. Um exemplo que pode-se apresentar ilustra que a regra de associação negativa impressora ⇒ ¬scanner} pode ser inferida se a regra (convencional) ⇒ {impressora} {scanner} possuir um suporte muito inferior ao da regra (convencional) {impressora} ⇒ {computador} se o esperado seria terem suportes semelhantes, pois scanner e computador possuem a mesma categoria refrigerante dentro da taxonomia. Segundo Mendes (2002) a Regra de Associação Negativa é definida da seguinte forma: Seja I={i1, i2,...,in}, n≥1, o conjunto de itens do domínio da aplicação. Uma regra de associação negativa R definida sobre I é uma implicação da forma: X ⇒ Y, tal que: X⊂I, Y⊂I, X≠∅, Y≠∅ e X∩Y=∅. Considere uma base de dados de transações de peças de vestuário, e considere a taxonomia ilustrada na Figura 3.8, em que os itens sandália e sapato são classificados como calçado social. A regra de associação negativa {calça de veludo} ⇒ ¬ {sandália} indica que os itens da regra (convencional) {calça de veludo} ⇒ {sandália} possuem junto um suporte inferior ao seu suporte esperado. Antes de se definir a medida de interesse de uma regra, faz-se necessário introduzir os conceitos de suporte e suporte esperado de um item/conjunto de itens. Segundo Mendes (2002), o suporte de um item/conjunto de itens de uma base de dados de transações representa a porcentagem de transações que contêm o item/conjunto de itens, conforme é apresentado na Figura 4.5. sendo: O suporte do antecedente é Sup(X). O suporte do conseqüente é Sup(Y). O suporte esperado, SupEsp(X∪Y) é dado pela equação da Figura 4.5 SupEsp( X ∪ Y ) = Sup( X ) × Sup(Y ) Figura 4.5 – Suporte esperado 4.3.1 Medida de Interesse de uma Regra Negativa (MI) Segundo Mendes (2002), é possível achar uma medida de interesse (MI) de uma regra de associação negativa proposta em Savarege (1998). Ela é definida a partir do seu suporte real e do seu suporte esperado. A medida proposta indica que uma regra negativa é interessante se o seu suporte for significativamente inferior ao seu suporte esperado. Assim a medida de interesse de uma Regra (MI), de regra de associação negativa é definida por X ⇒ ¬ Y, sendo: O suporte do antecedente é Sup(X). O suporte esperado X e Y é Sup(X∪Y) O suporte esperado é SupEsp(X∪Y). A medida de interesse de uma regra negativa, MI(X ⇒ ¬ Y) é dado pela equação da Figura 4.6 MI ( X ⇒ ¬Y ) = SupEsp({ X ∪ Y }) − Sup({ X ∪ Y }) Sup( X ) Figura 4.6- Medida de interesse (MI) (MENDES, 2002) Mendes (2002) observa que a medida de interesse da regra cresce quando o seu suporte real é inferior e se distancia do seu suporte esperado. Além disso, se o seu suporte real é superior ou igual ao seu suporte esperado, a regra não possui nenhum interesse. Analisado a formula da Figura 4.5, que representa a MI, e a fórmula do suporte esperado representada na Figura 4.4 detém-se a equação indicada na Figura 4.6. MI(X ⇒ ¬Y ) = (Sup( X ) × Sup(Y )) − Sup({X ∪ Y}) Sup( X ) Figura 4.7- Medida de interesse (MI) com substituição de fórmula. (MENDES, 2002) Mendes (2002) observa que o processo de minerar regras de associação negativas consiste em encontrar, a partir de uma base de dados de transações sobre os itens da aplicação, todas as regras de associação negativas R da forma X ⇒ ¬ Y que satisfazem as condições a seguir: (a) Sup(X) e Sup(Y) > (SupMin) especificado, ou seja, o antecedente e o conseqüente apareçam significativamente nas transações; (b) Sup(X∪Y) < SupMin, pois os itens do antecedente e do conseqüente de uma regra de associação que possuem juntos um suporte maior ou igual ao suporte mínimo especificado não devem caracterizar uma regra de associação negativa, dado que aparecem significativamente nas transações; (c) MI(R) ≥ MIMin, onde MIMin corresponde a uma medida de interesse mínima especificada. Considerando SupMin=50%, MIMin=40% os conjuntos de itens obtidos a partir da base de dados da Tabela 4.1 e seus respectivos valores de suporte são apresentados na Tabela 4.3. Tabela 4.3- Primeiro passo da mineração de dados de regras negativas Nº 1 2 3 4 5 6 CONJUNTO DE ITEMS Nº. TRAN. SUPORTE Scanner 5 5/6=0,83 Maquina Digital 2 2/6=0,66 Som 3 3/6=0,50 Telefone 1 1/6=0,16 Impressora 4 4/6=0,66 Computador 4 4/6=0,66 % 83% 66% 50% 16% 66% 66% Verifica-se na Tabela 4.3 consideramos que o item {telefone} não é freqüente. Analisando os conjuntos de itens de tamanho 2 tem-se a Tabela 4.4. Tabela 4.4- Segundo passo da mineração de dados de regras negativas Nº 1 2 3 4 5 6 7 8 9 10 CONJUNTO DE ITEMS Scanner ,Maquina Digital Scanner ,Som Scanner ,Impressora Scanner ,Computador Maquina Digital, Som Maquina Digital, Impressora Maquina Digital, Computador Som, Impressora Som, Computador Computador, Impressora Nº. TRAN. 2 3 4 3 1 1 1 2 1 3 SUPORTE 2/6=0,66 3/6=0,50 4/6=0,66 3/6=0,50 1/6=0,16 1/6=0,16 1/6=0,16 2/6=0,66 1/6=0,16 3/6=0,50 % 66% 50% 66% 50% 16% 16% 16% 66% 16% 66% Na Tabela 4.4 são considerados como não freqüentes os conjuntos de itens de {Scanner, Maquina Digital}, {Scanner, Som}, {Scanner, Impressora}, {Scanner, Computador}, {Som, Impressora} e {Computador, Impressora}. A partir dos conjuntos freqüentes da Tabela 4.4, o calculo da MI para cada regra obtida é apresentado na Tabela 4.5. Tabela 4.5- Terceiro passo da mineração de dados de regras negativas Nº 1 2 3 4 CONJUNTO DE ITEMS Nº. TRAN. Maquina Digital, Som. 1 Maquina Digital, Impressora. 1 Maquina Digital, Computador. 1 Som, Computador 1 CÁLCULO MI ((0,66*0,50)-0,16)/0,25= ((0,66*0,66)-0,16)/0,66= ((0,66*0,66)-0,16)/0,66= ((0,50*0,66)-0,16)/0,50= MI 0,2576 0,4176 0,4176 0,3400 Verifica-se na Tabela 4.4 que os conjuntos de itens {Maquina Digital ,Som}, {Som, Computador} são considerados como não freqüentes. Estudamos que regras como impressora ⇒ ¬computador, ou seja, que compra impressora não compra computador pode ser encontrada. Para extrairmos esse tipo de regra necessitamos de termos um conjunto de transações e a medida de interesse MI(X ⇒ ¬ Y). Assim, pode-se concluir que uma regra de associação negativa não é apenas uma regra que não atingiu um suporte mínimo, mas também é aquela que possui um suporte real bastante abaixo de um suporte esperado, considerando os conjuntos de itens que a compõem. 5 CONCLUSÃO Conforme foi apresentado, a extração de informações úteis a partir de uma base de dados utilizando mineração de dados vem despertando um crescente interesse comercial e acadêmico. Nesta proposta, uma regra de associação negativa é extraída de uma base de dados de transações, se o seu suporte for significativamente inferior a uma determinada expectativa. REFERÊNCIAS ALENCASTRO. A., SEMAAN. G., DIAS, C.R. Data Mining e a Descoberta de Associações em dados, Revista SQL Magazine, ed. 26, dez/2005. FAYYAD, M. Advances in Knowledge discovery and data mining. Menlo Park, CA: AAAI Press Cambridge, MA., 1996. GOLDSCHMIDT. R., PASSOS. E. Data Mining: Um Guia Pratico, Ed. Campus, Rio de Janeiro, 1ª Edição, 2005. HAN J., KAMBER. M. Data Mining: Concepts and Techniques,. The Morgan Kaufmann Series in Data Management Systems, Jim Gray, Series Editor, Canada, 2000. MENDES, I. M. B., Regras de Associação Negativas, Tese de Mestrado, Curso de Pós Graduação em Computação, Universidade Federal Fluminense, Rio de Janeiro, 2002. PIATETSKY-SHAPIRO G, FRAWLEY. W.J. Discovery, Analysis, and Presentation of Strong Rules, Knowledge Discovery in Databases. AAAI/MIT Press, Cambridge, MA,1991. REITER. R., On Closed World Databases, em Logic and Databases, H. Gallaire and J. Minker editors, Plenum Press, New York, NY, 1978. REZENDE, S. O, PUGLIESI, J. B, MELANDA E. A.. Sistemas Inteligentes: Fundamentos e Aplicações, Artigo, 2003. SAVASARE, A., OMIECINSKI E., NAVATHE. S. Mining for Strong Negative Associations in a Large Database of Customer Transactions, Proceedings of the 14th International Conference on Data Engineering, Artigo, Florida, 1998. SERGEY B, RAJEEV M, JEFFREY D. ULLMAN, SHALOM T. Dynamic Itemset Counting and Implication Rules for Market Basket Data. Proceedings ACM SIGMOD International Conference on Management of Data, Artigo, Arizona, USA, 1997. WU X, ZHANG C, ZHANG S. Efficient Mining of Both Positive and Negative Association Rules. University of Vermont, University of Technology, Sydney, Australia e Tsinghua University, China, 2004.