UMA VISÃO GERAL DAS PRINCIPAIS TAREFAS DE MINERAÇÃO DE DADOS Tauller Augusto de Araújo Matos1 Resumo: Este trabalho tem como objetivo conceituar e diferenciar as principais tarefas de mineração de dados, a saber: associação, seqüência, classificação, agrupamento (cluster) e desvio (outlier). Para este fim é utilizado exemplos em uma grande rede de departamentos. Palavra-Chave: Associação. Seqüência. Classificação. Cluster. Outlier. Abstract: This paper aims to conceptualize and distinguish the main tasks of data mining: namely: association, sequence, classification, cluster and outlier. For this purpose we used examples of a large network of departments. Key-Words: Association. Sequence. Classification. Clustering. Outlier. 1 Introdução Sistemas gerenciadores de banco de dados estão presentes na maioria das organizações públicas e empresas de pequeno, médio e grande porte. Estas contem os mais diferentes dados sobre produtos, fornecedores, clientes, empregados. Do ponto de vista comercial, quantidades gigantescas de dados são diariamente coletadas e armazenadas por empresas e corporações. Dados referentes a compras de clientes em lojas de departamento e redes de supermercados, navegação na internet, comércio eletrônico, transações bancárias ou de cartões de crédito. As empresas utilizam os dados para obterem conhecimento sobre seus clientes, a fim de ganhar vantagem e aumentar sua eficiência nesse mundo cada vez mais competitivo e fornecer valiosos serviços aos seus clientes. Em relação ao ponto de vista científico, dados são coletados e armazenados a velocidades enormes. Sensores remotos em satélites, telescópios, microarrays geram dados de expressões de genes. Por exemplo, na área da astronomia, realiza-se análise de imagens, classificação e catalogação de objetos no céu. Na 1 Professor da Fundação Educacional Dom André Arcoverde área da saúde, pode-se citar a análise da eficácia de certos tratamentos e a análise de efeitos colaterais de drogas. Todo esse considerável conjunto de dados contém uma preciosa quantidade de informação, no entanto, sua análise por meio de métodos manuais que utiliza linguagens de consultas tradicionais é inviável. Analistas humanos podem levar semanas para correlacionar e descobrir alguma informação útil dentro de uma grande massa de dados. Quando a escala da manipulação de dados, exploração e inferência desenvolvem-se além das capacidades humanas, faz-se necessário a criação de uma nova geração de teorias computacionais. Surge então, a necessidade de desenvolver ferramentas, que auxiliem o homem na análise e interpretação dessa grande quantidade de dados para extrair conhecimento útil dentro do contexto da aplicação no processo de tomada de decisão. Uma técnica muito utilizada para a descoberta de conhecimento é a Mineração de Dados (Data Mining). Atualmente, encontram-se comercialmente disponíveis diversas ferramentas de mineração de dados que auxiliam cientistas a classificar e segmentar dados, formular hipóteses, realizar diagnósticos. Ajudam analistas a entender e prever necessidades e interesses dos clientes, descobrirem perfis de comportamento, detecção de fraudes, aprovação de crédito e de apólice. A mineração de dados pode ser aplicada a várias áreas e tipos de dados. Portanto, existem diversas tarefas (técnicas) para minerar estes dados que são divididas em heurísticas e estatísticas. Desta forma, torna-se necessário o pré conhecimento destas tarefas de mineração. Este trabalho tem como objetivo apresentar e diferenciar as 5 (cinco) principais tarefas de mineração, a saber: associação, seqüência, classificação, cluster e outlier, por meio de exemplos, em uma grande loja de departamentos. Desta forma, este artigo esta organizado da seguinte forma além desta introdução. Na Seção 2 conceitua-se Mineração de dados enquanto que na Seção 3 são apresentadas as tarefas de mineração de dados e por fim é feita uma conclusão e perspectivas futuras na Seção 4. 2 2. Mineração de dados A área denominada Descoberta de Conhecimento em Bases de Dados ou Knowledge Discovery in Databases (KDD) refere-se ao processo completo de descoberta de conhecimento em dados e envolve diversas fases. A Figura 1 apresenta uma visão hierárquica do processo de KDD. O termo KDD foi formalizado em 1989 em referência ao amplo conceito de procurar conhecimento a partir de bases de dados. Uma das definições mais populares foi proposta em 1996 por um grupo de pesquisadores (Fayyad et al., 1996a). KDD é um processo, de várias etapas, não-trivial, interativo e iterativo, para identificação de padrões compreensíveis, válidos, novos, potencialmente úteis a partir de grandes conjuntos de dados. (GOLDSCHMIDT, 2005, p. 3). Figura 1 - Visão hierárquica do processo de KDD (GOLDSCHMIDT, 2005) A mineração de dados é considerada a principal etapa do processo de KDD e o núcleo central do processo de prospecção de conhecimento, sendo composto pelos métodos de mineração de dados responsáveis pela extração de conhecimento explícito e potencialmente útil dos dados. Esse conhecimento deve ser correto, compreensível por usuários humanos e ser novo. Um conhecimento realmente útil é aquele que pode ser aplicado de forma a proporcionar benefícios reais ao contexto da aplicação. Para que se possa realizar o processo de KDD, torna-se necessária algumas fases como pré-processamento (limpeza, seleção e codificação) entre outras conforme ilustra a Figura 1. Estas fases não são foco deste artigo, caso o leitor interesse por este assunto deve-se ver em (GOLDSCHMIDT, 2005). Quando se fala de mineração de dados não se considera apenas consultas complexas elaboradas que visam ratificar uma hipótese gerada por um usuário em função dos relacionamentos existentes entre os dados, e sim a descoberta de novos fatos, regularidades, restrições, padrões e relacionamentos. 3 Minerar dados não é realizar uma consulta em algum site de busca na internet sobre “Data mining”, nem mesmo procurar um nome em uma lista telefônica, estes casos são exemplos de recuperação de informação, ver em (MANNING, 2007). Realizar uma consulta em linguagem estruturada, Structured Query Language (SQL), ver em (DATE, 2000), a um banco de dados, também não é um exemplo de mineração de dados. Mineração de dados é agrupar documentos similares retornados por um sistema de busca de acordo com seu contexto e é descobrir se certos nomes aparecem com mais freqüência em determinadas regiões da cidade. Com isto, “Data mining refere-se à garimpagem ou descoberta de novas informações em termos de padrões ou regras oriundas de grandes quantidades de dados.” (ELMASRI, 2005, p. 624). Já Date descreve mineração de dados como: A mineração de dados pode ser descrita como ‘análise de dados exploratória’. O objetivo é procurar padrões interessantes nos dados, padrões que possam ser usados para definir a estratégia do negócio ou para identificar um comportamento pouco usual. (DATE, 2000, p.621). É nesta etapa onde são aplicados as técnicas e os algoritmos a serem utilizados no problema em questão de forma a extrair modelos de dados. A escolha da técnica a ser utilizada no processo de mineração de dados, depende exclusivamente do tipo de tarefa de KDD a ser efetivamente realizada. Em geral, as técnicas de mineração de dados desempenham as seguintes tarefas: descoberta de associação, descoberta de sequências, classificação, clusterização e outlier. Uma vez escolhido o algoritmo a ser utilizado na aplicação do processo, deve-se executá-lo e adaptá-lo ao problema proposto. Estas técnicas de mineração de dados são descritas na Seção 3. 3 Tarefas de Mineração A técnica de mineração utilizada no processo de KDD está ligada a forma com que os dados foram pré-processados. Determinados algoritmos possuem restrições quanto aos tipos de variáveis envolvidas no problema. O uso de algoritmos 4 diferentes para executar a mesma técnica, também pode produzir diferentes resultados. A escolha da técnica a ser utilizada no processo de mineração de dados, depende exclusivamente do tipo de tarefa de KDD a ser efetivamente realizada. O que torna necessário distinguir o que é uma tarefa e o que é uma técnica de mineração. A tarefa consiste na especificação do que se busca nos dados, que tipo de regularidades ou categoria de padrões pode ser interessante encontrar. A técnica de mineração consiste na especificação de métodos que garantam como descobrir os padrões que são interessantes. Neste capítulo são apresentadas as principais tarefas e técnicas de mineração de dados. 3.1 Descoberta de associação As regras de associação representam padrões onde a ocorrência de eventos em um conjunto é alta. Devido a sua grande aplicabilidade esse tipo de técnica é muito utilizada/solicitada pela equipe de marketing das empresas. Suponha que o gerente de uma grande loja de departamentos esteja interessado em conhecer os hábitos de compra de seus clientes, por exemplo, “quais os produtos que os clientes costumam comprar ao mesmo tempo, a cada vez que vêm à loja”. Conhecer a resposta para esta questão pode ser útil: pode-se planejar melhor os catálogos da loja, os folhetos de promoções de produtos, as campanhas de publicidade, além de organizar melhor a localização dos produtos nas prateleiras da loja ao colocá-los próximos os itens frequentemente comprados juntos a fim de encorajar os clientes a comprar tais produtos conjuntamente. Para isto, você dispõe de uma mina de dados, que é o banco de dados de transações efetuadas pelos clientes. A cada compra de um cliente, são registrados neste banco todos os itens comprados, como mostra a Tabela 1. Para melhorar o processamento dos algoritmos de associação, na fase de pré processamento, são associados números a cada artigo da loja como ilustrado na Tabela 2 para facilitar a representação dos mesmos e atender as especificações dos algoritmos. 5 Tabela 1 - Banco de dados com transações de clientes Fonte: Autor TID (Identificador da transação) 101 102 103 104 105 106 Itens comprados {1, 3, 5} {2, 1, 3, 7, 5} {4, 9, 2, 1} {5, 2, 1, 3, 9} {1, 8, 6, 4, 3, 5} {9, 2, 8} Tabela 2 - Representação numérica de cada registro da loja Fonte: Autor Artigo (item) Notebook Mouse Headset Mochila para Notebook Pen drives Caixa de som Switches Memória Hard Disk Microfone Número que o representa 1 2 3 4 5 6 7 8 9 10 Repare que o que identifica uma transação é o identificador da transação (TID) e não o identificador do cliente. Assim, um mesmo cliente é contado várias vezes a cada vez que realiza uma compra na loja. É importante lembrar que o que interessa é a transação (a compra), e não o cliente. Na descoberta de associação, o cliente é irrelevante, pois o que interessa na identificação dos padrões são as ocorrências dos produtos comprados e não quem os comprou. Cada conjunto de itens comprados pelo cliente em uma única transação é chamado Itemset. Um itemset com k elementos é chamado de k-itemset. Suponha que o gerente decida que um itemset que apareça em pelo menos 50% de todas as compras registradas seja considerado frequente. Por exemplo, se o banco de dados de que você dispõe é o ilustrado na Tabela 1, então o itemset {1, 3} é considerado frequente, pois aparece em mais de 60% das transações. Porém, se você for muito exigente e decidir que o mínimo para ser considerado frequente é aparecer em pelo menos 70% das transações, então o itemset {1, 3} não é considerado freqüente. 6 “Formalmente, uma regra de associação é uma implicação da forma X → Y, onde X e Y são conjuntos de itens tais que X Y = . Convém destacar que a interseção vazia entre antecedente e conseqüente da regras assegura que não sejam extraídas regras óbvias que indiquem que um item está associado a ele próprio.” (GOLDSCHMIDT, 2005, p. 61). A toda regra de associação X → Y associa-se um grau de confiança, denotado por conf (X → Y). Esse grau de confiança é simplesmente a porcentagem das transações que suportam Y dentre todas as transações que suportam X, a confiança é definida pela Fórmula 3.1. (3.1) Por exemplo, de acordo com a Fórmula 3.1, o grau de confiança da regra {switches} → {pen drivers}, isto é, {7} → {5}, com relação ao banco de dados da Tabela 1 é 1 (100%). Será que o fato de certa regra de associação ter um grau de confiança relativamente alto é suficiente para considerá-la como sendo uma boa regra? Repare que no banco de dados da Tabela 1, os itens switches, pen drivers aparecem juntos somente em uma transação entre seis, isto é, poucos clientes compram estes dois itens juntos. Entretanto, não se pode avaliar uma regra de associação somente pelo seu grau de confiança, pois como apresentado no exemplo, apesar da regra {switches} → {pen drivers} ter tido um grau de confiança de 100%, ela é suportada em poucas transações. A fim de garantir que uma regra XY seja boa ou interessante, torna-se necessário exigir que seu suporte também seja relativamente alto, além de seu grau de confiança. A toda regra de associação X → Y associa-se um suporte, denotado por sup(X → Y) definido como sendo o suporte do itemset X Y dividido pelo número de transações (Fórmula 3.2). Por exemplo, o suporte da regra {switches} → {pen drivers} com relação ao banco de dados da Tabela 1 é 0,1666%. 7 (3.2) A Tabela 3 contabiliza os suportes de diversos itemsets com relação ao banco de dados de transações da Tabela 1. Tabela 3 Suporte de alguns itemsets referente à Tabela 1 Fonte: Autor Itemset {1, 3} {2, 3} {1, 2, 7} {2, 9} Suporte 0,6666 0,3333 0,1666 0,5 Assim sendo em cada aplicação são estabelecidos valores mínimos para o suporte e a confiança, sendo que para o suporte o algoritmo descarta os itemsets com valores menores que o mínimo estabelecido e para a confiança descarta as regras com valor de confiança abaixo da mínima. Dentre os métodos de associação têm-se os algoritmos: o mais clássico é o algoritmo Apriori (AGRAWAL e SRIKANT, 1994). Outros algoritmos são: Apriori TID (SRIKANT e AGRAWALl, 1997) e Direct (SAVASERE et al., 1995). 3.2 Descoberta de Seqüência Esta técnica permite detectar padrões sequenciais entre as transações registradas no bando de dados com certas relações temporais. “A descoberta de padrões sequenciais baseia-se no conceito de uma sequência de conjuntos de itens.” (ELMASRI, 2005, p. 635). Suponha que o gerente de uma grande loja de departamentos esteja interessado em conhecer a evolução das compras de seus clientes, por exemplo, “Que sequência de produtos são comprados por um mesmo cliente em momentos consecutivos?”, Se for possível descobrir uma sequência de produtos <P1; P2; P3>, onde P seja qualquer produto da loja, que sejam comprados nesta ordem frequentemente pelos clientes, torna-se útil enviar folhetos promocionais que envolvem os produtos P2 ou P3 para aqueles clientes que compram o produto P1. Como descoberto os clientes têm grandes chances de comprar os produtos P2 e P3 8 no futuro e, portanto os recursos gastos em uma campanha de marketing (campanha dirigida a clientes potencialmente dispostos a comprar P2 e P3) tem-se grandes chances de não estarem sendo despendidos em vão. Ao contrário da técnica de associação, apresentada na seção 3.1, para a descoberta de sequências é necessário um banco de dados de transações com a identificação dos clientes que realizaram a compra e a data de cada transação. O que interessa na descoberta de sequências é identificar o que cada cliente compra em uma determinada sequência, conforme Tabela 4. Uma sequência ou padrão sequencial de tamanho k, onde k é o número de itensets da sequência, é uma coleção ordenada de itemsets <P1; P2; ... ; Pn>. Por exemplo, seja S um padrão sequencial de tamanho k = 3, representada pelos seguintes produtos, S = <{Notebook, Switch}, {Caixa de som}, {Placa mãe}>. Repare que este padrão comportamental se manifesta nos clientes com identificador 2 e 3, conforme Tabela 4. Todos eles compram num primeiro momento, não importando quando, Notebook e Switch (conjuntamente), num segundo momento compram um Caixa de som e tempos depois compram uma Placa mãe. Suponha que o gerente decida que um padrão sequencial que se manifeste em pelo menos 50% dos clientes registrados seja considerado frequente. Neste caso, o padrão S acima é considerado frequente. Caso o gerente seja um pouco mais exigente e decida que o mínimo para ser considerado frequente é que pelo menos 70% dos clientes manifestem tal comportamento então o padrão S acima não é considerado frequente. Para minerar sequências, antes de qualquer coisa é necessário adequar o banco de dados e eliminar as informações não úteis. Seguindo o exemplo da loja de suprimentos representado pelas transações da Tabela 4, não é necessária a data em que os clientes realizam a compra, e sim, a ordem em que foram comprados. Dessa forma, é eliminada a coluna data e incluída a coluna de sequencia de itemsets, que representa a ordem em que os produtos são comprados por cada cliente conforme Tabela 5. Como definido anteriormente, torna-se necessário a codificação dos dados, a serem minerados. Assim, são associados números a cada produto da loja o que resulta o banco de dados de sequencias de clientes da Tabela 6. Tabela 4 - Banco de dados de transações de Clientes 9 Fonte: Autor Identificador do Cliente 1 2 1 3 2 3 1 4 4 2 3 4 Itemsets {Notebook, Mochila para notebook} {Mouse, Switch, Notebook} {Mouse, DVD-RW} {Notebook, Switch, Joystick} {DVD-RW, Caixa de som} {Caixa de som, Hard Disk} {Headset, Monitor} {Placa de vídeo, Processador} {Estabilizador} {Placa mãe, Memória} {Placa mãe, Fonte de alimentação} {Notebook, Caixa de som} Data 10/02/2009 01/03/2009 03/03/2009 04/03/2009 05/03/2009 07/03/2009 10/04/2009 14/04/2009 21/04/2009 23/04/2009 28/04/2009 30/04/2009 Tabela 5 - Banco de dados de sequências de Clientes Fonte: Autor Identificador do Sequencias de Itemsets Cliente 1 <{Notebook, Mochila para notebook}, {Mouse, DVD-RW}, 2 {Headset, Monitor}> <{Mouse, Switch, Notebook}, {DVD-RW, Caixa de som}, 3 {Placa mãe, Memória}> <{Notebook, Switch, Joystick}, {Caixa de som, Hard Disk}, 4 {Placa mãe, Fonte de alimentação}> <{Placa de vídeo, Processador}, {Estabilizador}, {Notebook, Caixa de som}> Tabela 6 - Representação numérica de sequências de Clientes Fonte: Autor Identificador do Sequências de Itemsets codificadas Cliente 1 2 3 4 <{1, 2}, {12, 11}, {16, 3}> <{12, 4, 1}, {11, 6}, {5, 7}> <{1, 4, 13}, {6, 15}, {5, 14}> <{9, 10}, {8}, {1, 6}> As sequências que fazem parte do banco de dados são chamadas de sequências do cliente, as sequências que são possíveis padrões que podem aparecer nos dados são chamadas de padrão seqüencial. 10 A sequência padrão é dita freqüente se o seu suporte for maior ou igual ao suporte mínimo definido pelo especialista no domínio da aplicação. O suporte de um padrão sequencial em relação a um banco de dados de sequências de cliente é definido pela Fórmula 3.2. Dentre os métodos de descoberta de sequência têm-se os algoritmos: Generalized Seqüencial Pattern (GSP) (AGRAWAL e SRIKANT, 1995), Prefix Span (PEI, et al., 2001) e Algoritmos SPIRIT (GAROFALAKIS et al., 1999). 3.3 Classificação “É o processo de aprendizagem de uma função que mapeia (classifica) um dado objeto de interesse em uma das possíveis classes.” (ELMASRI, 2005, p. 634). É uma atividade preditiva que consiste na busca por padrões que classifiquem elementos rotulados. É necessário definir previamente as classes, já que o atributo classe é fundamental na tarefa de classificação. “Pode ser compreendida como a busca por uma função que permita associar corretamente cada registro Xi de um bando de dados a um único rótulo categórico, Yi, denominado classe.” (GOLDSCHMIDT, 2005, p. 66). Na definição acima, Xi representa qualquer registro do conjunto de dados e Y i qualquer rótulo do conjunto de classes. Nos casos em que ocorrer a inferência de um registro do conjunto de dados em um rótulo do conjunto de classes, essa inferência é denominada classificação. O propósito da tarefa de classificação é descobrir algum tipo de relacionamento entre os atributos preditivos (tuplas do conjunto de dados) e o atributo objetivo (Classes) que permita encontrar um conhecimento que pode ser aplicado a novos registros de forma a prever a classe em que tais registros se encaixam. Suponha que o gerente de uma grande loja de departamentos disponha de um banco de dados de clientes, que contem informações tais como nome, idade, renda mensal, profissão e se comprou ou não produtos eletrônicos na loja. Deseja-se enviar um material de propaganda pelo correio aos clientes, que descreve novos produtos eletrônicos e preços promocionais de alguns destes produtos. Para não fazer despesas inúteis torna-se interessante enviar este material publicitário apenas aos clientes que sejam potenciais compradores de produtos eletrônicos. Outro ponto importante: a partir do banco de dados de clientes é desenvolvido um 11 método para permitir quais atributos de um cliente o torna um potencial comprador de produtos eletrônicos. Identificado o método aplicá-lo no futuro para os novos clientes. Isto é, a partir do banco de dados atual, descobrem-se regras que classificam os clientes em duas classes: os que compram produtos eletrônicos e os que não compram. Que tipos de atributos de clientes (idade, renda mensal, profissão) influenciam na colocação de um cliente numa ou noutra classe? Uma vez definida estas regras de classificação de clientes, estas são utilizadas no futuro para classificar novos clientes. Por exemplo, regras que podem ser descobertas: - Se idade está entre 30 e 40 e a renda mensal é “Alta” então ClasseProdEletr = “Sim”. - Se idade está entre 60 e 70 então ClasseProdEletr = “Não”. Quando um novo cliente João, com idade de 25 anos e renda mensal “Alta” e que tenha comprado discos, é catalogado no banco de dados, o classificador diz que este cliente é um potencial comprador de aparelhos eletrônicos. Este cliente é colocado na classe ClasseProdEletr = “Sim”, mesmo que ele ainda não tenha comprado nenhum produto eletrônico. Dentre os métodos de classificação têm-se os algoritmos: árvores de decisão (IAN e EIBE, 2000), Back-Propagation – redes neurais (LU et al., 1995) e Classificadores Bayesianos (DOMINGOS e PAZZANI, 1996). 3.4 Clusterização/Agrupamento “O objetivo do agrupamento é colocar os registros em grupos, de tal forma que os registros de um grupo sejam similares aos demais do mesmo grupo e diferentes daqueles dos demais grupos.” (ELMASRI, 2005, p.637). A tarefa de clusterização tem como objetivo o particionamento dos registros do banco de dados em subconjuntos ou clusters. Um cluster é uma coleção de objetos que são similares uns aos outros, ou seja, cada cluster é definido por um grupo, sendo que este grupo contem tuplas onde os valores de seus atributos são semelhantes. 12 Análise de clusters é uma tarefa de aprendizado não supervisionado, pelo fato de que os clusters representam classes que não estão definidas no início do processo de aprendizado, sendo assim uma tarefa de aprendizado por observação. Suponha que o gerente de uma grande loja de departamentos disponha de um banco de dados de clientes, que contem informações tais como o endereço de seus clientes. A empresa deseja abrir duas filias na cidade. Portanto, utiliza-se algum dos algortimos de clusterização com objetivo de encontrar grupos de clientes próximos e, além disto, o centro de gravidade destes grupos. A Figura 2 esboça um exemplo deste agrupamento. Figura 2 - Agrupamento por cluster. (fonte: Autor) Os pontos A1, A2, A3, B1, B2, B3, C1 e C2 são os clientes. Os centros de gravidades são representados por X e indicam os locais onde devem ser instaladas as duas novas filiais, pois é o ponto central de cada grupo. Ou seja, o ponto mais próximo de todos os seus clientes. Dentro os métodos de classificação têm-se os algoritmos: K-means (NG e HAN, 1994), CURE (GUHA, et al., 1998), DBSCAN (ESTER, et al., 1996). 3.5 DETECÇÃO DE DESVIOS A tarefa de detecção de desvios ou também chamada outliers, isto é exceções, tem como objetivo a identificação de conhecimento inesperado. Pode ser aplicada em áreas tais como: comércio eletrônico, detecção de fraudes de cartão de crédito e mesmo análise de desempenho de atletas profissionais nos casos de 13 dopagem, ou seja, tem como objetivo identificar mudanças em padrões anteriormente percebidos. Pode-se definir outliers como um fato que desvia tanto de outros fatos a ponto de gerar suspeitas de que foi gerado por mecanismo diferente dos demais fatos registrados, outliers se distância dos demais fatos. “Em geral, são especificados limiares de tolerância, de tal forma que, sempre que a distância entre o registro em análise e o padrão médio representativo da base de dados excede um destes limiares, tal registro é considerado um desvio.” (GOLDSCHMIDT, 2005, p.80). Os parâmetros utilizados na detecção de desvio, isto é, para se decidir que um objeto de um banco de dados é um outliers é tarefa do especialista do domínio da aplicação. Por exemplo, um objeto D, é dito um desvio se pelo menos uma fração definida pelo parâmetro p onde 0 < p < 1 dos objetos do banco de dados D estão a uma distância maior do que o parâmetro d do objeto. A Figura 3 ilustra um banco de dados D, onde mostra que o objeto circulado esta a uma distancia maior dos demais objetos desse banco de dados. Figura 3 - Outlier baseado em distância Como exemplo na loja de departamentos pode-se ter o comportamento de pagamento de um determinado cliente. Supõe que o mesmo sempre tem um padrão de comportamento, que é fazer suas compras parceladas no cartão de crédito. E excepcionalmente decide fazer uma compra de grande valor e a vista. Pode-se suspeitar que provavelmente esta tendo um comportamento fraudulento. Dentre os métodos de detecção de outliers têm-se os algoritmos: Nested Loop (NL), FindAllOuts que podem ser vistos em (KNORR e NG, 1998) 14 4. Conclusão e perspectivas futuras Devido ao aumento expressivo dos dados dentro de uma organização tornou-se inviável sua análise por meio de métodos manuais ou que utiliza linguagens de consultas tradicionais. Pequenas empresas ainda sabem o que seus clientes gostam de comprar, mas mesmo assim, podem-se identificar apenas compras óbvias. O objetivo da mineração de dados é detectar tendências e comportamentos raros em bases de dados. Foi mostrado que a mineração de dados pode ser aplicada a várias áreas e a diversos tipos de dados. Com isto, este trabalho abordou as principais técnicas de mineração de dados e os algoritmos utilizados para a busca de padrões no mesmo. As cinco principais tarefas de mineração são: associação, sequencia, classificação, cluster e outlier. Por meio de um exemplo de aplicação em uma grande rede de departamentos diferenciou-se cada uma destas tarefas. Como sugestão de trabalhos pode-se abordar estudos de casos com cada um destes algoritmos citados neste trabalho. Referências Bibliográficas AGRAWAL, R., SRIKANT, R. Fast Algorithms for Mining Association Rules. Proc. 20th Int. Conf. Very Large Data Bases, VLDB, 1994. AGRAWAL, R., SRIKANT, R. Mining Sequential Patterns . ICDE 1995, pages 1-14 DATE, C. J. Introdução a Sistemas de Bancos de Dados. Rio de Janeiro: Campos, 2000. DOMINGOS, Pedro, PAZZANI, Michael. Beyond Iindependence: Conditions for the optimality of the simple Bayesian classifier . Proc. International Conference on Machine Learning, 1996, pages 105-112. Morgan Kaufmann. ELMASRI, Ramez; NAVATHE, Shamkant. Sistemas de Banco de Dados. 4ª Ed. São Paulo: Addison-wesley, 2005. ESTER, M., KRIEGEL H.-P, SANDER J., XU X.: A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining, pp. 226-231, 1996. GAROFALAKIS, M. RASTOGI R. e SHIM, K. SPIRIT: Sequential Pattern Mining with Regular Expression Constraints. Proc. VLDB, 223-234. 1999 15 GOLDSCHMIDT, Ronaldo; PASSOS, Emmanuel. Data Mining: um guia prático. Rio de Janeiro: Elsevier, 2005. GUHA S., RASTOGI R., SHIM K.: CURE: An Efficient Clustering Algorithm for Large Databases. ACM/SIGMOD 1998. IAN H. Witten, EIBE Frank: Data Mining- Practical Machine Learning Tools and Techniques with Java Implementations - Editora Morgan Kaufman, 2000 KNORR Edwin M., NG Raymond T.: Algorithms for Mining Distance-Based Outliers in Large Datasets. In Proc. 24th International Conference on Very Large Databases, VLDB 1998, New York, USA. LU, H., SETIONO R., LIU H.: Neurorule: A connectionist approach to data mining. In Proc. 1995 Int. Conf. Very Large Data Bases (VLDB'95), pp. 478-489, Zurich, Switzerland, 1995. MANNING, C; RAGHAVAN, P; SCHÜTZE, H. An Introduction to information Retrieval. Cambridge University Press, Cambridge, England, 2007. NG R.T., HAN J.: Efficient and Effective Clustering Methods for Spatial Data Mining. Proc. of the International Conference on Very Large Data Bases, (VLDB Conference), 1994. PEI Jian, HAN, Jiawei, MORTAZAVI-ASL, Behzad, PINTO Helen, CHEN Qiming, DAYAL, Umeshwar, HSU, Mei-chun: PrefixSpan: Mining sequential patterns efficiently by prefix-projected pattern growth. ICDE 2001, 215-224 SAVASERE, A., OMIECINSKI, E., NAVATHE, S. B. An Efficient Algorithm for Mining Association Rules in Large Databases. VLDB 1995: 432-444. SRIKANT, R., VU, Q., AGRAWAL, R.: Mining Association Rules with Item Constraints Proc. of the 3rd Int'l Conference on Knowledge Discovery in Databases and Data Mining, Newport Beach, California, August 1997. 16