MINERANDO REGRAS DE ASSOCIAÇÃO (UMA FERRAMENTA DE DATA MINING) Autores: ANDRÉ BATISTA SALGADO DIEGO DE OLIVEIRA UZAI HÉLIO AUGUSTO MAIA SALEMA JOANNE MANHÃES NETTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE CAMPOS CEFET CAMPOS CURSO SUPERIOR DE TECNOLOGIA EM INFORMÁTICA CAMPOS DOS GOYTCAZES – RJ ABRIL – 2007 MINERANDO REGRAS DE ASSOCIAÇÃO (UMA FERRAMENTA DE DATA MINING) Autores: ANDRÉ BATISTA SALGADO DIEGO DE OLIVEIRA UZAI HÉLIO AUGUSTO MAIA SALEMA JOANNE MANHÃES NETTO “Monografia apresentada ao Centro Federal de Educação Tecnológica de Campos como parte das exigências para a conclusão do Curso Superior de Tecnologia em Informática” Orientador: Prof. Sandro Reis CAMPOS DOS GOYTCAZES – RJ ABRIL – 2007 MINERANDO REGRAS DE ASSOCIAÇÃO (UMA FERRAMENTA DE DATA MINING) ii Autores: ANDRÉ BATISTA SALGADO DIEGO DE OLIVEIRA UZAI HÉLIO AUGUSTO MAIA SALEMA JOANNE MANHÃES NETTO “Monografia apresentada ao Centro Federal de Educação Tecnológica de Campos como parte das exigências para a conclusão do Curso Superior de Tecnologia em Informática”. Aprovado em 02 de Abril de 2007. Comissão Examinadora: Orientador – Sandro Reis Rocha Barros, M. Sc. Professor - Breno Fabrício Terra Azevedo, M. Sc. Professor – Maurício José Viana Amorim, M. Sc. iii DEDICATÓRIA Dedicamos este trabalho aos nossos familiares, que nos incentivaram para que pudéssemos alcançar mais essa vitória em nossas vidas. iv AGRADECIMENTOS Em primeiro lugar, a Deus. Aos nossos pais, que nos incentivaram a concluir um dos nossos passos mais importantes para a carreira profissional. Ao Centro Federal de Educação Tecnológica de Campos, por ter nos acolhido e pela qualidade do curso ministrado. Ao professor Sandro Reis, pela dedicação e confiança como orientador e amigo. Aos colegas de turma, pelo companheirismo e amizade demonstrados ao longo deste curso. Aos colegas do grupo, que se mostraram muito mais amigos do que simples colegas de profissão. Finalmente, a todos aqueles que, direta ou indiretamente, contribuíram na elaboração deste trabalho. v RESUMO O volume de dados existentes no mundo dos negócios é algo que não pode deixar de requerer uma grande atenção. O fato é que nem todos os dados presentes em uma grande base de dados são importantes para o objetivo que se quer atingir. Por este motivo, torna-se essencial uma ferramenta que possa extrair conhecimento desses dados e, assim, auxiliar no aumento considerável da produtividade de uma empresa, bem como nos lucros da mesma. Apresentaremos, neste trabalho, uma solução em Data Mining. O sistema visa encontrar padrões existentes em uma base de dados através de regras de associação, possibilitando o suporte à tomada de decisões. O nosso sistema utiliza como linguagem o Delphi e a base de dados em SQL Server. Também é utilizado o algoritmo Apriori para encontrar os padrões mais freqüentes existentes dentre os registros. vi SUMÁRIO Lista de Figuras..................................................................................................... x Lista de Siglas........................................................................................................ xi CAPÍTULO I – INTRODUÇÃO ...................................................................................1 1.1 – Apresentação....................................................................................................1 1.2 – Objetivo..............................................................................................................2 1.3 - Estrutura do Trabalho........................................................................................2 CAPÍTULO II – FUNDAMENTAÇÃO TEÓRICA .........................................................4 2.1- Dado X Informação X Conhecimento ................................................................. 4 2.1.1 - Business Intelligence(BI) …………………………………………………...5 2.2 - Data Warehouse ...............................................................................................4 2.2.1 - Proporcionando acesso aos dados da empresa....................................4 2.2.2 – Conceitos..............................................................................................8 2.2.2.1 - O que é Data Warehouse.....................................................8 2.2.2.2 - Implicações Práticas ..........................................................10 2.2.2.3 - Por que um Data Warehouse? ...........................................11 2.2.2.4 – Benefícios do Data Warehouse.........................................12 2.2.2.5 – Necessidade de um Data Warehouse................................13 2.2.3 – Acesso à informação ........................................................................16 vii 2.3 - Data Mining .....................................................................................................17 2.3.1 – Introdução .........................................................................................17 2.3.2 – Relevância do Estudo de Data Mining ..............................................18 2.3.3 – Análise dos Dados ..........................................................................19 2.3.4 – Modelos ..........................................................................................20 2.3.4.1 – Modelo de Verificação........................................................20 2.3.4.2 – Modelo de Descoberta.......................................................20 2.3.5 – Utilizadores......................................................................................21 2.3.6 – Fases do Processo de Data Mining.................................................21 2.3.6.1 – Preparação.........................................................................21 2.3.6.2 – Mineração...........................................................................22 2.3.6.3 – Análise................................................................................22 2.3.6.4 – Aplicação............................................................................23 2.3.7-Técnicas de Data Mining....................................................................23 2.3.8 – Áreas de Aplicação de Técnicas de Mineração de Dados...............24 2.3.8.1 - Marketing............................................................................24 2.3.8.2 - Banco..................................................................................25 2.3.8.3 – Seguradoras ou Planos de Saúde......................................25 2.3.8.4 – Medicina.............................................................................25 2.3.8.5 - Controle de Processos e Controle de Qualidade.................26 2.4 - Regras de Associação.................................................................................27 2.4.1 - A Descoberta de Conhecimento em Bancos de Dados....................27 viii 2.4.2 - Regras e seus Algoritmos.................................................................29 2.4.2.1 - O Algoritmo Apriori..............................................................32 CAPÍTULO III - O ESTADO DA ARTE .....................................................................41 3.1 ”A descoberta do perfil do aluno de graduação que interrompe seus estudos no campus central da Universidade Luterana do Brasil”...........................................43 3.2 ”Estudo em Mineração de dados aplicado a uma base de dados de materiais de estoque da indústria siderúrgica” ........................................................................45 3.3 ”Algoritmo SSDM para mineração de dados semanticamente similares”.....47 3.4 ”Extração de Regras de Associação em uma base de dados relacional”.....50 CAPÍTULO IV - O SOFTWARE DE MINERAÇÃO Weka ........................................52 4.1 – Introdução........................................................................................................52 CAPÍTULO V – DESENVOLVIMENTO ...................................................................56 5.1 – Descrição das Funções do Sistema.................................................................57 5.2 – O protótipo no KDD (Caso de Uso)..................................................................59 5.3 – Protótipo x Weka.............................................................................................62 CAPÍTULO VI – CONCLUSÃO E RECOMENDAÇÕES .........................................64 CAPÍTULO VII – BIBLIOGRAFIA ..........................................................................65 ix Lista de Figuras Figura 1 – Arquitetura de Business Intelligence........................................................05 Figura 2 – O processo de KDD................................................................................28 Figura 3 – Espaço de busca para o conjunto de itens I={1,2,3,4}............................31 Figura 4 – Tela de Apresentação do Weka..............................................................53 Figura 5 – Tela Explorer do Weka............................................................................54 Figura 6 – Tela principal do Protótipo ..................................................................... 57 Figura 7 - Tela de Exibição dos Resultados............................................................ 58 Figura 8 – Tela de exibição dos resultados..............................................................58 Figura 9 – Relatório de Mineração – Informações sobre o Banco de Dados...........60 Figura 10 - Relatório de Mineração – Informações dos parâmetros do Algoritmo...61 Figura 11 - Relatório de Mineração – Regras encontradas.....................................61 Figura 12 – Tela de Padrões Encontrados pelo Protótipo......................................62 Figura 13 - Tela de Padrões Encontrados pelo Weka 10 regras..........................62 Figura 14 - Tela de Padrões Encontrados pelo Weka 20 regras...........................63 x Lista de Siglas ACR – Avaliação de Controles e Resultados BI – Business Intelligence CART - Classification and Regression Trees (Árvores de Classificação e Regressão). CHAID - Chi Square Automation Interaction Detection. DBMS - Database Management Systems (Sistema de Gerenciamento de Banco de Dados). DM - Data Mining (Mineração de Dados). DW - Data Warehouses (Armazém de Dados). EIS - Executive Information Systems (Sistema de Informações Executivas). MIS - Management Information System (Sistema de Informação Gerencial). OLAP - On Line Analytical Processing (Processamento Analítico On Line). OLTP – On Line Transaction Processing (Processamento On Line de Transações). PC - Personal Computers (Computadores Pessoais). RDBMS – Relational DataBase Management System (Sistema de Gerenciamento de Banco de Dados Relacional). xi SABESP – Companhia de Saneamento Básico do Estado de São Paulo SGBD - Sistemas de Gerenciamento de Banco de Dados. SQL – Structured Query Language (Linguagem Estruturada de Consulta). SSDM - Semantically Similar Data Miner (Mineração de Dados Semanticamente Similares). TI - Tecnologia da Informação. xii CAPÍTULO I - INTRODUÇÃO 1.1 – Apresentação A cada ano, companhias acumulam mais e mais informações em seus bancos de dados. Como conseqüência, estes bancos de dados passam a conter verdadeiros tesouros de informação sobre vários dos procedimentos dessas companhias. Toda esta informação pode ser usada para melhorar seus procedimentos, permitindo que a empresa detecte tendências e características disfarçadas e reaja rapidamente a um evento que ainda pode estar por vir. No entanto, apesar do enorme valor desses dados, a maioria das organizações é incapaz de aproveitar totalmente o que está armazenado em seus arquivos. Esta informação preciosa está, na verdade, implícita, escondida sob uma montanha de dados e não pode ser descoberta utilizando-se sistemas de gerenciamento de banco de dados convencionais. A solução existe e chama-se Data Mining. A quantidade de informação armazenada em bancos de dados está explodindo e ultrapassa a habilidade técnica e a capacidade humana na sua interpretação. Bancos de dados são medidos, hoje, em gigabytes e terabytes. A necessidade de transformar estes terabytes de dados em informações significativas é óbvia. Felizmente, técnicas computacionais foram desenvolvidas para analisar os dados ou, ao menos, ajudar o analista a encontrar ordem no caos: conhecimento. Mineração de dados, ou Data Mining (DM), é o termo utilizado para nomear o processo de análise de conjuntos de dados com o objetivo de encontrar padrões -1- que representem informações úteis e não triviais. Para tanto, utiliza-se de métodos matemáticos, heurísticos e algoritmos. A mineração de dados é parte de um processo maior e mais abrangente, o de descoberta de conhecimento em bancos de dados. Pode ser entendida como a exploração e análise de grandes quantidades de dados, de maneira automática ou semi-automática, com o objetivo de revelar regras e padrões significativos [1]. Para uma empresa, o conhecimento desses padrões permite melhorar a sua estratégia de marketing, personalizar seu atendimento, aprimorar seu relacionamento com os consumidores, etc. Para uma entidade pública, os conhecimentos adquiridos por uma mineração de dados podem subsidiar as suas ações políticas. Para o sistema financeiro, o conhecimento gerado pela base de dados de seus clientes permite obter critérios objetivos com vistas a discriminar e classificar bons e maus pagadores. 1.2 – Objetivo O objetivo principal deste trabalho é o desenvolvimento de um software de mineração de dados que, utilizando um algoritmo baseado em Regras de Associação, reconheça os padrões (dados) mais freqüentes numa determinada base de dados, previamente selecionada, auxiliando assim no suporte à decisão, já que reduz significativamente o volume dos dados que são relevantes na tomada de decisão. 1.3 – Estrutura do Trabalho Este trabalho está organizado da seguinte maneira: No capítulo II é apresentada a teoria básica de Data Warehouse, Data Mining e mineração de dados, um estudo sobre regras de associação e uma apresentação básica do algoritmo Apriori que será utilizado no nosso projeto; -2- No capítulo III são apresentados trabalhos que versam sobre a atual situação do uso da Mineração de Dados e suas principais vantagens e desvantagens; No capítulo IV é apresentado o software Weka, que será utilizado para efeito de comparação de resultados com o nosso software; No capítulo V é apresentado todo o desenvolvimento da nossa ferramenta de Data Mining; No capítulo VI é apresentada a conclusão deste trabalho, com seus resultados e recomendações; No capítulo VII é apresentada toda a bibliografia utilizada como fonte de conhecimento e preparação deste trabalho. -3- CAPÍTULO II - FUNDAMENTAÇÃO TEÓRICA 2.1- Dado X Informação X Conhecimento Antes de serem apresentados todos os conceitos e ferramentas desse trabalho, é necessário que fique clara a diferença entre os conceitos de Dado, Informação e Conhecimento, para melhor compreensão do trabalho. Segundo[2], O dado é entendido como um elemento da informação, um conjunto de letras, números ou dígitos que, tomado isoladamente, não transmite nenhum conhecimento, ou seja, não contém um significado claro. Para conceituação inicial, a informação é todo dado trabalhado, útil, tratado, com valor significativo atribuído ou agregado a ele e com um sentido natural e lógico para quem usa a informação. Quando a informação é trabalhada por pessoas e pelos recursos computacionais, possibilitando a geração de cenários, simulações e oportunidades, pode ser chamada de conhecimento. São argumentos e explicações que interpretam um conjunto de informações. -4- 2.1.1- Business Intelligence(BI) O conceito de BI pode ser entendido, numa das suas vertentes, como diretamente relacionado ao apoio e subsídio aos processos de tomada de decisão baseados em dados trabalhados especificamente para a busca de vantagens competitivas A figura 1 mostra esquematicamente os componentes de Data Warehouse, Data Marts, ODS e Ferramentas (entre as quais as de Mining), compondo o mosaico de BI. Figura 1 – Arquitetura de Business Intelligence. 2.2- Data Warehouse (DW) 2.2.1- Proporcionando Acesso aos Dados da Empresa Com a evolução de um conjunto de novos conceitos e ferramentas, atualmente, a tecnologia emergente permite que pessoas-chave sejam capazes de acessar qualquer nível de informação necessário para organizar, sobreviver e prosperar em um mundo cada vez mais competitivo. O termo utilizado para definir esta nova tecnologia é Data Warehouse. -5- Em busca de um meio flexível, eficaz e eficiente de obter conjunto de dados, que se tornaram os bens mais importantes e valiosos da empresa, o data warehouse surgiu das várias tentativas realizadas por pesquisadores e organizações com esse mesmo objetivo. O data warehouse é um campo que se originou da integração de diversos recursos e experimentos ao longo das duas últimas décadas. Esses experimentos permitiram à indústria identificar os principais problemas que necessitam de solução. É uma arquitetura, não uma infra-estrutura. O primeiro passo para desenvolver um Data Warehouse é definir o warehouse (armazém) em termos de arquitetura e infra-estrutura. A arquitetura é um conjunto de regras ou estruturas que fornece a base para o projeto de um sistema ou produto enquanto que a infraestrutura refere-se às plataformas, bancos de dados, gateways, ferramentas frontend e outros componentes necessários para fazer a arquitetura funcional. Como o principal componente é um banco de dados read-only, o DW é desenvolvido para fins de suporte à decisão. A extração dos dados é realizada a partir de sistemas-fonte, bancos de dados e arquivos. Esses dados são integrados e transformados antes de serem carregados no armazém. Um banco de dados readonly separado armazena os dados de suporte à decisão e acessa o data warehouse através de ferramentas front-end ou de um aplicativo. Todas as pessoas envolvidas na tecnologia de suporte à decisão, devem ser treinadas, incluindo desenvolvedores e administradores de banco de dados em banco de dados relacionais, em ferramentas para integração e transformação de dados, em software front-end e ferramentas de navegação para metadados. Há 30 anos, o MIS (Management Information System), ao final do dia ou da semana, proporcionava acesso aos dados através de ferramentas que filtravam e agregavam os registros de detalhe, porém, as respostas em batch 1 eram, na maioria, inadequadas não somente pela demora da resposta mas pela quantidade de interações que eram necessárias para isolar o nível apropriado dos dados para uma determinada consulta. 1 Denominação dos arquivos de lote que podem, com um único comando, realizar uma seqüência de tarefas programadas anteriormente. É identificado pela extensão BAT no nome dos arquivos. -6- Há 20 anos, parte dos problemas foram solucionados, quando os dados estratégicos tornaram-se disponíveis interativamente, entretanto, com o aumento do volume de dados e usuários, surgiu o problema de capacidade. Os usuários finais estavam insatisfeitos com o tempo requerido para desenvolver um aplicativo de relatórios estratégicos e adequá-lo às novas exigências, isso porque estes não reagiam com a mesma rapidez em que ocorriam mudanças no negócio. Há 10 anos, o uso dos PCs (Personal Computers) nas organizações cresceu exponencialmente e os usuários passaram a construir suas próprias aplicações com banco de dados e planilhas eletrônicas, passando a inserir e extrair informações de dados históricos do computador central, possibilitando uma análise com o uso dos rápidos aplicativos que criavam. No lado tecnológico, os Data Warehouses estão explorando um poder de processamento mais barato na forma de multi-processadores simétricos baseados em Unix2, processadores paralelos, computadores pessoais e mainframes. Para o armazenamento dos dados, dispositivos maiores e mais rápidos permitem reter e analisar históricos extensos. Os SGBDs (Sistemas de Gerenciamento de Banco de Dados) apresentam maior desempenho e capacidade e, recentemente, têm atendido a requisitos específicos de data warehouse como processamento paralelo e replicação. Os data warehouses também estão sendo usados pelas organizações como passos iniciais para migrar de ambientes centralizados para distribuídos. Com a distribuição do poder da informática e com o conhecimento gerado pelos PCs, o uso de banco de dados passou a ser comum para vários usuários, portanto, conseguem acesso imediato aos dados históricos e analisam tendências, causas e exceções. O antigo modelo do MIS, retornando relatórios padronizados semanas após receber a solicitação, não é mais aceitável pelas organizações. 2 UNIX é um Sistema Operativo (ou sistema operacional) portável, multitarefa e multiusuário, originalmente criado por um grupo de programadores da AT&T e dos Bell Labs, que inclui Ken Thompson, Dennis Ritchie e Douglas McIlroy. -7- 2.2.2 – Conceitos 2.2.2.1 - O que é Data Warehouse? É o processo de integração dos dados corporativos de uma empresa em um único repositório a partir do qual os usuários finais podem facilmente executar consultas, gerar relatórios e fazer análises. [3] Um ambiente de suporte à decisão que alavanca dados armazenados em diferentes fontes e os organiza e entrega aos tomadores de decisões da empresa, independente da plataforma que utilizam ou de seu nível de qualificação técnica. Resumindo, data warehouse é uma tecnologia de gestão e análise de dados. Devemos entender a diferença exata entre um data warehouse e um banco de dados. Um data warehouse é, supostamente, um lugar em que os dados ficam armazenados de forma que as aplicações possam acessá-los e compartilhá-los facilmente. Mas um banco de dados já faz isso! Fornecedores de DB2, Informix, Oracle, Sybase e de outras incontáveis legiões de DBMSs ( Database Management Systems) têm vendido seus produtos com base nessa simples definição funcional. Então, o que torna o DW tão diferente? O primeiro critério sobre o qual todos parecem concordar para uma definição é que o data warehouse armazena dados no formato read-only (somente leitura). De fato, esta é a primeira regra. A teoria por trás disso é que os bancos de dados “normais” armazenam dados das operações de negócio e que muitas das aplicações de suporte à decisão associadas ao data warehouse exigem muito dos bancos de dados que os executam. Então, data warehouse é nada mais que um nome bonito para um sistema operacional de negócio replicado? (Pelo fato de sabermos que replicação de dados é algo ruim, chamamos de data warehouse?). Definir simplesmente como um banco de dados read-only não é suficiente. Infelizmente, esta visão bastante limitada sobre o que é um data warehouse não inclui todos os recursos e características que as pessoas costumam lhe associar. -8- Por exemplo, se você fizer uma cópia dos dados de um sistema de âmbito operacional e associá-la a algum tipo de ferramenta de consulta, banco de dado multidimensional ou rede neural, estará transformando esse banco de dados readonly em um data warehouse? Deve ser preciso mais do que isso! Mesmo se aceitarmos a regra “somente-leitura” como parte da definição de um DW, não podemos parar por aí. Se você tirar apenas um data mining3 ou um sistema de informações executivas para rodar, não estará construindo um data warehouse; apenas um tipo específico de banco de dados – algo que já fazemos há anos. Precisamos estabelecer o próximo critério para nossa definição de data warehouse, a menos que nós também: Coletemos informações de várias fontes diferentes e as utilizemos como o local em que essas diferenças se tornam compatíveis; Coloquemos os dados em um warehouse porque pretendemos permitir que vários aplicativos usem as mesmas informações. Esses critérios aproximam o termo data warehouse do que consideramos sua real definição – um lugar em que armazenamos várias coisas diferentes em prol da conveniência. Ao entendermos nossa definição para incluir a conciliação de diversas fontes de dados e tornar essas informações disponíveis para uma variedade de aplicações, começamos a chegar perto do poder e do valor agregado que as pessoas costumam associar ao termo data warehouse. 3 Técnica de mineração de dados que será explicada no item 2.2 deste capítulo. -9- 2.2.2.2 - Implicações Práticas Construir um DW de produção não é apenas mais um exercício de integração de sistemas. A metodologia e os princípios de projeto necessários são muito diferentes daqueles utilizados no desenvolvimento de aplicações para o processamento de transações on-line tradicional. Em sua luta pela sobrevivência, as empresas enfrentam a árdua tarefa de remodelar sua arquitetura de informação de forma a alavancar, sem corromper, seus sistemas de processamento analítico on-line (OLAP). Muitas recorreram ao data warehouse, uma arquitetura que coleta dados corporativos valiosos dos sistemas OLTP (On-Line Transaction Processing – processamento on-line de transações) e os prepara para responder às consultas do usuário. Usualmente construído em um sistema de gerenciamento de banco de dados relacional (RDBMS), o data warehouse destina-se a liberar sistemas OLAP da missão crítica das consultas consumidoras de recurso. Esses, igualmente de missão crítica, contêm dados que foram extraídos, limpos, e transformados a partir de sistemas legados e OLTP. Eles consistem, em resumo, de uma coleção on-line de informações corporativas que foram otimizadas para fins de suporte à decisão. O data warehouse posiciona a empresa para atender a quatro exigências corporativas inter-relacionadas: Preparar seus sistemas e usuários para uma evolução constante; Melhorar a contribuição de cada funcionário na produtividade e na receita; Maximizar os lucros, desempenhando os principais processos do negócio de forma melhor que os competidores e eliminando o maior número possível de práticas consumidoras de recursos; Aplicar ciência à informação. - 10 - Possivelmente, a explosão de informações seja a ocorrência que afeta o data warehouse de forma mais significativa. As organizações perceberam que, dada a relação fundamental entre conhecimento e poder, o uso dessas informações é imprescindível para sua vantagem competitiva. Nesta virada de século altamente competitiva, o OLTP e o data warehousing proporcionaram soluções de negócio poderosas com retornos rápidos sobre o investimento. 2.2.2.3 - Por que um Data Warehouse? No ambiente competitivo atual, entender e gerenciar informações torna-se crucial para que as empresas possam tomar decisões oportunas e responder às mudanças nas condições do negócio. Nas últimas décadas, a proliferação de aplicativos de processamento de dados para os diversos sistemas aplicativos de negócio complicou a tarefa de localizar e integrar dados para o suporte à decisão. Além disso, à medida que o poder para a tomada de decisões é distribuído a todos os níveis da organização, mais pessoas precisam ter acesso a informações para esse fim. Como resultado, muitas organizações estão construindo data warehouses para gerenciar e usar as informações do negócio competitivamente. O DW dá suporte à análise e à tomada de decisões do negócio, criando um banco de dados integrado com informações históricas, consistentes, orientadas para o assunto. Ele integra dados de vários sistemas incompatíveis em um banco de dados consolidado. Ao transformar os dados em informações expressivas, permite aos administradores fazer uma análise mais substancial, precisa e consistente. O uso de um data warehouse para processamento de informações está associado a consideráveis benefícios de custo, economia de tempo e aumento de produtividade. Primeiro, os dados podem ser acessados e analisados facilmente sem perda de tempo com manipulação e processamento. As decisões podem ser tomadas mais rapidamente e com certeza de que os dados são atuais e precisos. As informações integradas podem ser mantidas em categorias que representam operações lucrativas. - 11 - As tendências podem ser analisadas e previstas com a disponibilidade de dados históricos. E o data warehouse garante que todos estejam usando os mesmos dados no mesmo nível de extração, o que elimina resultados analíticos conflitantes e argumentos a respeito da fonte e da qualidade dos dados utilizados. Em resumo, permite que as informações sejam processadas de forma confiável e eficiente. 2.2.2.4 – Benefícios do Data Warehouse O data warehousing melhora a produtividade dos tomadores de decisão corporativos através da consolidação, conversão, transformação e integração de dados operacionais e oferece uma visualização consistente da empresa. Exemplos de benefícios tangíveis obtidos são: Melhor rotatividade do estoque dos produtos; Menos custo de lançamento de produtos com aprimoramento da seleção de mercados-alvo; Determinação da eficácia de programas de marketing, permitindo eliminar programas fracos e aprimorar os fortes. Adiante, as estratégias de data warehouse desempenharão um papel crítico na migração de sistemas de suporte à decisão para o desktop, mantendo o vínculo com as fontes de dados corporativos. Exemplos de aplicativos de data warehousing de alto valor agregado incluem vendas/estoque, inteligência empresarial, atendimento ao consumidor e reengenharia do negócio. A conclusão é que o data warehouse representa um componente cada vez mais importante dos sistemas que suportam a crescente competitividade dos negócios. - 12 - O data warehouse, que significa a criação de um repositório de dados da empresa-inteira, é o primeiro passo para o gerenciamento de grandes volumes de dados. Está se tornando parte integrante de muitos sistemas de fornecimento de informações porque proporciona uma localização única e centralizada para armazenar uma versão que concilia dados extraídos de diversos sistemas aplicativos. Nos últimos anos, a redução do preço e o aumento de desempenho, escalabilidade e capacidade dos sistemas de arquitetura aberta tornaram o data warehousing um componente central das estratégias da TI (Tecnologia da Informação). Estima-se que o mercado de data warehousing crescerá vertiginosamente. Não só o tamanho dessa indústria está crescendo rapidamente, mas também a quantidade de informações que as organizações desejam acessar para fins de tomada de decisão. O tamanho de um data warehouse pode variar de alguns gigabytes a centenas deles, ou até mesmo a terabytes. 2.2.2.5 – Necessidade de um Data Warehouse O conceito de data warehouse expandiu da crescente necessidade de vantagem competitiva para a análise rápida de informações do negócio. Os sistemas aplicativos existentes não podem atender a esse requisito porque: Não dispõem de dados históricos on-line; Os dados requeridos para a análise residem em diferentes sistemas aplicativos; O desempenho da consulta é extremamente fraco, o que, por sua vez, prejudica o desempenho dos sistemas aplicativos; A estrutura operacional do DBMS (Database Management Systems) é inadequada para suporte à decisão. - 13 - Dessa forma, as informações armazenadas em sistemas aplicativos tornam-se inacessíveis aos tomadores de decisão do negócio. Um data warehouse elimina esse problema armazenando os dados históricos e atuais de sistemas aplicativos diferentes, necessários aos tomadores de decisão, em um sistema único e consolidado. Isso disponibiliza os dados necessários sem interromper as operações on-line. Uma vez adotado o conceito de data warehouse, deve ser escolhido um RDBMS especializado. Os RDBMSs convencionais são adequados para OLTP mas deixam a desejar quando usados porque: Não oferecem bom desempenho de consulta; Não incluem os recursos necessários para processar facilmente questões relativas ao negócio; Não carregam e indexam os dados com eficiência; Não oferecem suporte adequado para o armazenamento de grandes volumes de dados. O RDBMS de processamento de transações automatiza as operações do negócio e deve ser capaz de atualizar os registros individuais milhares de vezes por segundo. Em contraste, os RDBMSs de data warehouse são projetados para administrar um negócio e precisam ter capacidade de suportar com eficiência a análise de centenas de gigabytes e bilhões de registros de dados. O data warehouse está se tornando um ativo extremamente valioso da empresa. Os tomadores de decisão devem o ter prontamente disponível para que possam determinar todo o potencial de um investimento. Os usuários devem poder compartilhar relatórios em tempo real que incluem não apenas texto, mas também cálculos e premissas que dão suporte à análise. Os destinatários devem poder mudar o nível de detalhe, rotacionar ou adicionar itens ao relatório original, dando continuidade ao processo de análise de forma colaborativa. - 14 - Esse livre compartilhamento de relatórios ao vivo apresenta um desafio significativo para a segurança. Um usuário raramente conhece o nível de segurança de cada destinatário. Um sistema de segurança de múltiplos níveis impede a distribuição inadvertida de informações a usuários não autorizados. Um usuário não pode acessar, detalhar ou adicionar itens a uma análise sem a segurança apropriada. O problema da segurança aumenta à medida que o data warehouse torna-se disponível a um número maior de usuários, a menos que sejam observados os seguintes requisitos: Definição da segurança para cada usuário e grupo de trabalho; Vínculo da segurança ao banco de dados; Vínculo da segurança às dimensões do negócio; Fácil manutenção da segurança. Uma arquitetura cliente/servidor de três níveis é essencial para atender tais requisitos quando um grande número de usuários tem acesso ao data warehouse, principalmente, se há disponibilidade de livre compartilhamento e colaboração. A segurança deve ser mantida individualmente e definida por nível ao longo das dimensões do banco de dados. Se um relatório for distribuído a um usuário não autorizado, este usuário não conseguirá visualizar o relatório. Adicionalmente, um usuário ficará impedido de mudar o nível de detalhe se não tiver autorização para isso. Os benefícios do DW já foram descobertos por praticamente todas as empresas, de todos os segmentos, tais como: Telecomunicações Bancário Serviços Universidades - 15 - Manufatura Assistência Médica Seguros Bens de consumo As áreas de aplicação mais comuns são: Gerenciamento de risco Tendências de lucros com produtos Gerenciamento do ativo Análise estatística Análise financeira Análise de aquisição Análise do inventário Análise de reclamações Programas de Marketing Integração do banco de dados de cliente Administração do relacionamento com o cliente 2.2.3 – Acesso à informação Acesso à informação é um componente técnico chave. Para organizações que estão se “afogando em dados e desesperadas por informações”, um data warehouse bem projetado pode oferecer acesso às pessoas certas, às informações certas, no momento certo. Ferramentas, tipicamente as de interface gráfica que permitem acesso ao warehouse, devem facilitar a recuperação, análise e transferência de informações aos gerentes de processo. Quando estruturados adequadamente, o data warehouse e suas ferramentas de acesso permitem aos usuários recuperar informações fácil e rapidamente. O acesso deve ser suportado também por uma infra-estrutura que sirva de ponte entre as perguntas feitas pelos gerentes de processo e as respostas contidas nos data warehouses. A estrutura do modelo de dados e a - 16 - interface do usuário devem estar alinhadas com a estratégia para formar isso uma realidade. O principal objetivo da arquitetura é definir uma estrutura que ajude aos clientes na construção de implementações de data warehouse eficientes – implementações que ofereçam aos usuários e aplicações acesso fácil aos dados. A arquitetura identifica e define os componentes, interfaces e protocolos que estabelecem essa estrutura. 2.3 - Data Mining (DM) 2.3.1 – Introdução Todos os sistemas de Data Warehouse possuem bases de dados bem organizadas e consolidadas que funcionam com boas ferramentas de exploração, por isso a tecnologia do Data Mining é considerada como Minerador de Dados. Eles chamaram a atenção dos construtores de Data Warehouse porque a mineração de dados tem alternativas de grandes descobertas de oportunidades de negócios e, além disso, também pode traçar estratégias novas para o futuro [4]. A extração de conhecimento de banco de dados surgiu devido ao crescimento da quantidade de dados armazenados em meios magnéticos e da necessidade de aproveitá-los. Quando falamos de mineração de dados não estamos considerando apenas consultas complexas e elaboradas, que visam ratificar uma hipótese gerada por um usuário em função de relacionamentos existentes entre os dados, e sim da descoberta de novos fatos, regularidade, restrições, padrões e relacionamentos. Considerada como a fase principal do KDD (Knowledge Database Discovery) a mineração de dados é responsável pela extração de conhecimento implícito, potencial útil dos dados e viabilização de informações ainda não exploradas. Este - 17 - processo exploratório é de suma importância para os ambientes competitivos vivenciados no atual mundo globalizado e é, sem dúvida, um dos termos mais discutidos pela comunidade acadêmica de computação. Além de todas essas vantagens, ainda possui um diferencial se comparada às técnicas tradicionais, pois os resultados produzidos por ela são, normalmente, mais genéricos e poderosos. As ferramentas do Data Mining são argumentações ativas e de pesquisas, automáticas de relacionamentos pessoais para obter problemas que não tinham sido reconhecidos pelos usuários. Isso significa que o Data Mining analisa todos os dados possíveis para que se possam descobrir todas as oportunidades escondidas nos relacionamentos, descobrindo o problema e diagnosticando o comportamento do negócio, que requerem o mínimo de intervenção dos usuários, o que irá buscar somente o conhecimento e produzir vantagens competitivas [5]. Tendo-se concentrado tanta atenção na acumulação de dados, surgiu o problema do que fazer com este precioso recurso. Reconheceu-se que estes dados são muito importantes, pois permitem que indivíduos responsáveis pelas decisões usem estes para melhorá-las. O sistema de gestão de bases de dados dá acesso aos dados que estão armazenados, mas esta é uma pequena parte do que se pode ganhar com estes. Analisar dados pode fornecer um conhecimento adicional acerca de um negócio, ao permitir ir além dos dados guardados explicitamente, para derivar conhecimento sobre o negócio. É aqui que o data mining trás benefícios óbvios. 2.3.2 – Relevância do Estudo de Data Mining Através dos pontos apresentados anteriormente, podemos ressaltar a relevância do presente estudo da seguinte forma: a) A administração da informação tornou-se mais complexa, pelo seu volume e detalhamento; - 18 - b) A utilização avançada dessas informações para a tomada de decisão torna-se um diferencial competitivo para as empresas; c) As aplicações das técnicas de Data Mining não se limitam ao ambiente acadêmico, tendo vasta aplicabilidade no mercado; d) Sua aplicação em diferentes áreas caracteriza-a como uma ferramenta de caráter geral e não específico ou restrito a um determinado setor. Aliado a esses pontos, notamos a inexistência de uma classificação formalizada e aceita universalmente do assunto. A maior parte do esforço desenvolvido nessa área está na implementação de ferramentas e algoritmos e sua integração operacional com bancos de dados existentes. 2.3.3 – Análise dos Dados Basicamente, data mining está preocupada com a análise de dados e o uso de técnicas de software na procura de padrões em conjuntos de dados. É o computador que é responsável por procurar padrões, identificando as regras subjacentes nos dados. A idéia consiste em descobrir ouro em lugares inesperados, pois o software de data mining permite encontrar padrões nada óbvios. O processo de análise começa com um conjunto de dados, é usada metodologia para desenvolver uma representação para a estrutura dos dados, durante a qual o conhecimento é adquirido. Uma vez o conhecimento adquirido pode ser estendido para conjuntos maiores de dados, assumindo que estes têm uma estrutura semelhante aos dados simples. - 19 - 2.3.4 – Modelos Segundo [6], existem modelos que podem ser usados para fornecer informação relevante para o utilizador. 2.3.4.1 – Modelo de Verificação O modelo de verificação pega numa hipótese do utilizador e testa a sua validade de acordo com os dados. A ênfase está no utilizador que é o responsável por formular a hipótese e realizar uma query4 nos dados para afirmar ou negar a hipótese. O problema com este modelo é o fato de que não são criadas novas informações no processo de busca, mas sim um conjunto de registros é retornado. A procura é iterativa, pois um novo conjunto de perguntas ou uma hipótese reformulada podem ser feitos para refinar a procura. O utilizador vai descobrindo os fatos acerca dos dados usando uma variedade de técnicas, assim como queries, análises multidimensionais e visualização, para se guiar na exploração dos dados que são inspecionados. 2.3.4.2 – Modelo de Descoberta Neste modelo, a ênfase está no sistema que descobre automaticamente informação importante escondida nos dados. Os dados são deslocados durante a procura de padrões que ocorrem freqüentemente, tendências e generalizações sem intervenção ou orientação humana. O objetivo das ferramentas de data mining é revelar um grande número de fatos acerca dos dados no menor tempo possível. 4 Comando SQL usado para iniciar uma busca em um banco de dados on-line. - 20 - 2.3.5 – Utilizadores Existem três grupos de utilizadores de ferramentas de data mining: executivos (ou gestores), utilizadores finais (end-users) e analistas [3]. Os executivos necessitam de visões de alto nível sobre a informação e passam muito menos tempo a utilizar computadores que os outros grupos. Podem, eventualmente, precisar de informação que não está presente nos seus EIS (Executive Information Systems). Normalmente os executivos são apoiados pelos utilizadores finais e pelos analistas. Os utilizadores finais sabem como usar uma folha de cálculo, mas não programam. Por outro lado, passam horas a fio com computadores. Exemplos: pessoal de vendas, investigadores de mercado, cientistas, engenheiros, etc. Analistas sabem interpretar as informações e, ocasionalmente, usam computadores. Normalmente utilizam um pouco de estatística e SQL (Structure Query Language). O desenho de uma ferramenta de Data Mining deve ter em conta qual o grupo de utilizadores alvo. 2.3.6 – Fases do Processo de Data Mining [7] 2.3.6.1 – Preparação Coletar o dado que será garimpado. A fonte poderá ser o DW/DM da empresa ou dos outros dados de natureza interna ou externa; - 21 - Definir os metadados. Entender a semântica dos campos documentando número de campos, de colunas, de campos com valores nulos, etc. Para cada campo, definir nome, tipo, definição, descrição, fonte, unidade de medida, valores únicos, periodicidade, etc; Selecionar o subconjunto para o processo de garimpagem (limpeza). Algumas ferramentas ajudam neste processo, analisando a relevância de certos dados e a sua provável efetividade no processo de mining; Carregar o banco para o processo de Mining. 2.3.6.2 – Mineração Criação dos modelos de Data Mining; Definição das amostras ou população; Seleção dos dados para treinar o Modelo; Definição da formatação requerida pelas ferramentas; Criação dos provisores (atributos-chave) para análise do negócio. 2.3.6.3 – Análise Existem vários tipos de análises, entre as mais comuns estão: Associações: é definida como função que indica um coeficiente de afinidade entre registros de determinados fatos. Como certos fatos e eventos acontecem associados; - 22 - Padrões seqüenciais: são definidos como processos que visam à identificação de fatos que implicam em outros fatos, em momentos diferentes do tempo; Classificação: são processos que definem agrupamentos de itens em classes, segundo referências estabelecidas. São usados para se definir grupos ou classes de elementos, baseados em certos parâmetros preestabelecidos; Agregação: atua em conjunto de registros como a abordagem anterior, porém com a diferença de que os registros não estão previamente classificados ou definidos em conjuntos conhecidos. 2.3.6.4 – Aplicação Estando o modelo definido e testado, a aplicação se dá pela utilização daqueles algoritmos ajustados em situações reais de sistemas. 2.3.7-Técnicas de Data Mining As técnicas mais correntes em data mining são [8], [9]: Redes Neuronais – Modelos preditivos não lineares que aprendem através de treino; Regras associativas - Segundo [10], entre as técnicas de mineração de dados, regras associativas detêm o segundo lugar em percentual de utilização em aplicações; somente atrás das Regras de Decisão/Classificação. Suas principais áreas de aplicação são: análise de dados de vendas, suporte à decisão em sistemas de diagnósticos, descoberta de tendências no comportamento consumidor de indivíduos, etc. Mais especificamente, essa técnica é extensivamente usada para o estudo das informações (usualmente chamada de basket data, terminologia - 23 - inicialmente utilizada em [11]) coletadas durante a venda simultânea de itens disponíveis em um estabelecimento comercial, em que o consumidor, de uma só vez, adquire certo número de produtos diferentes; Árvores de Decisão – Estruturas em forma de árvore que representam conjuntos de decisão. Estas decisões geram regras para a classificação de um conjunto de dados. Alguns métodos de árvores-decisão específicos incluem Classification and Regression Trees (CART) e Chi Square Automation Interaction Detection (CHAID); Algoritmos Genéticos – Técnicas de otimização que usam processos tais como combinações genéticas, mutações e seleção natural, no desenho, baseadas nos conceitos de evolução; Método Vizinho-mais-próximo – Técnica que classifica cada registro numa base de dados, baseada na combinação das classes dos k registros mais semelhantes a este, num conjunto histórico de dados. Também chamada técnica dos k vizinhos mais próximos; Indução de Regras – Extração de regras if-then dos dados baseados em estatísticas significativas. 2.3.8 – Áreas de Aplicação de Técnicas de Mineração de Dados Existem diversos campos onde data mining pode ser aplicada como, por exemplo: 2.3.8.1 – Marketing: - Identificar padrões de compra de clientes; - Descobrir associações entre características demográficas de clientes; - 24 - - Predizer respostas a campanhas publicitárias; - Análise de mercado. 2.3.8.2 – Banco: - Detectar padrões de uso fraudulento de cartões de crédito; - Identificar clientes fiéis; - Predizer clientes prováveis a mudar de cartão de crédito; - Descobrir correlações escondidas entre diferentes indicadores financeiros; - Identificar “stock trading rules”, a partir de dados históricos. 2.3.8.3 – Seguradoras ou Planos de Saúde: - Predizer que clientes irão comprar novas apólices; - Identificar padrões de comportamento em clientes de risco; - Identificar comportamentos fraudulentos. 2.3.8.4 – Medicina: - Caracterizar comportamento de pacientes para predizer visitas ao consultório; - Identificar terapias médicas de sucesso para diferentes doenças, buscar por padrões de novas doenças. - 25 - 2.3.8.5 - Controle de Processos e Controle de Qualidade: - Auxiliar no planejamento estratégico de linhas de produção; - Buscar por padrões de condições físicas na embalagem e armazenamento de produtos. A mídia tem veiculado exemplos clássicos de Data Mining, como correlações entre produtos comprados na mesma cesta de supermercado, entre vários exames feitos pelo mesmo paciente em uma determinada consulta. O problema dessa abordagem é que, além da possibilidade de garimpagem de relacionamentos inúteis, o número de correlações possíveis de serem obtidas é muito grande, o que impede a análise de cada uma delas, exigindo, dessa forma, algoritmos inteligentes que possam selecionar os padrões mais relevantes para certas aplicações. O processo de Mining tem certas diferenças com relação ao que vimos até agora. Enquanto as técnicas OLAP objetivam trabalhar os dados existentes, buscando consolidações em vários níveis e trabalhando fatos em dimensões variadas, a técnica de Mining busca algo mais que a interpretação dos dados existentes. Visa, fundamentalmente, realizar inferências, tentando como que “adivinhar” possíveis fatos e correlações não explicitadas nas montanhas de dados DW/DM. As ferramentas de Data Mining estão muito mais relacionadas com tratamento especial da informação que com estruturações de dados, embora um subconjunto de dados extraídos do DW e DM provavelmente será o alvo dessas análises mais sofisticadas. - 26 - 2.4 - Regras de Associação 2.4.1 - A Descoberta de Conhecimento em Bancos de Dados A Descoberta de conhecimento em bancos de dados, ou KDD (Knowledge Discovery in Databases), é o termo, criado em 1989, que se refere ao amplo processo de descobrir conhecimento em dados armazenados em bancos de dados. Tal processo objetiva extrair conhecimento implícito e previamente desconhecido, buscando informação potencialmente útil nos dados [12]. O processo, descrito em [7], consiste em uma seqüência de cinco etapas, partindo dos dados existentes e chegando à descoberta do conhecimento extraído dos mesmos. As etapas são descritas a seguir e ilustradas na figura 2: 1. Definição de Metas: nesta etapa é definido o “problema” a ser resolvido pelo processo de KDD; 2. Seleção dos dados: esta etapa consiste em escolher qual o conjunto de dados que será submetido ao processo. Como foi apresentado anteriormente, estes dados normalmente ficam armazenados em um armazém de dados; 3. Pré-processamento: nesta etapa, os dados podem sofrer uma qualificação, a fim de corrigir erros e inconsistências que poderão existir. É a fase de limpeza dos dados, onde é determinada a informação relevante (por exemplo: é desnecessário o campo sexo de um paciente ao estudar gravidez). Os dados são reconfigurados para assegurar um formato consistente, pois existe a possibilidade de formatos inconsistentes devido aos dados serem extraídos de diversas fontes (por exemplo: sexo pode ser guardado como “m” e “f” ou “0” e “1”); 4. Transformação: nesta etapa, os dados são convertidos em um formato adequado para serem acessados pelos algoritmos de mineração. É nela que também se realiza uma possível redução no número de variáveis, sumarizando os dados que serão submetidos à mineração; - 27 - 5. Mineração: é a etapa mais importante do processo. É nela que o algoritmo escolhido é aplicado sobre os dados a fim de se descobrir padrões interessantes. É fundamental, para que esta etapa obtenha resultados de qualidade, a correta aplicação dos passos anteriores; 6. Interpretação dos dados: nesta última etapa do processo, os resultados obtidos na mineração são interpretados e avaliados, selecionando-se o conhecimento considerado útil. Figura 2 – O processo de KDD Os objetivos da descoberta do conhecimento são definidos pelo uso pretendido do sistema. Em outras palavras, os objetivos dependem dos dados a serem analisados e do tipo de informação que se pretende obter. Como visto anteriormente no item 2.3.4 desse capítulo, pode-se distinguir dois tipos de objetivos, a princípio: verificação e descoberta5. Na verificação, o sistema é limitado a verificar as hipóteses formuladas pelo usuário. Na descoberta, o sistema autonomamente encontra novos padrões. Esses padrões podem ser classificados em duas categorias: descritivos e preditivos [13]. Tarefas descritivas caracterizam as propriedades gerais dos dados na base de dados. Tarefas preditivas fazem uma inferência a partir dos dados presentes, de maneira a fazer predições sobre dados futuros. 5 Assunto já abordado no item 2.2.4 do capítulo II. - 28 - Existem diversas tarefas de mineração de dados, também chamadas 'Análises', como vistas no item 2.3.6 e, de acordo com os objetivos da aplicação e da natureza dos dados, uma determinada tarefa é utilizada. As tarefas de mineração de dados mais conhecidas são: associação, classificação, agrupamento (clustering) e regressão. A tarefa de associação, que consiste na descoberta de regras de associação, é uma das mais utilizadas entre elas. Portanto, devido ao foco do presente trabalho, os métodos para mineração de dados descritos foram restringidos às principais técnicas que seguem o padrão descritivo. 2.4.2 - Regras e seus Algoritmos A tarefa de associação, que envolve a descoberta de regras de associação, é uma das tecnologias predominantes em mineração de dados. O banco de dados é tratado como uma coleção de transações, sendo que cada uma envolve um conjunto de itens [14]. Em mineração de dados, Regras de Associação é uma técnica que consiste na identificação de padrões intrínsecos ao conjunto de dados. Uma regra de associação caracteriza o quanto a presença de um conjunto de itens nos registros de uma Base de Dados implica na presença de algum outro conjunto distinto de itens nos mesmos registros [15]. Desse modo, o objetivo das regras de associação é encontrar tendências que possam ser usadas para entender e explorar padrões de comportamento dos dados. Uma regra de associação é uma expressão da forma X ?Y, onde X e Y são conjuntos de itens. O significado de tal regra é que transações da base de dados que contêm X tendem a conter Y também. O conjunto de itens que aparece à esquerda da seta (representado por X) é chamado de antecedente da regra. Já o conjunto de itens que aparece à direita da seta (representado por Y) é o conseqüente da regra. Assim, uma regra de associação tem o seguinte formato: - 29 - Antecedente?Conseqüente A cada regra são associados dois fatores: suporte e confiança. Para uma regra de associação X ?Y, o suporte indica a porcentagem de registros em que aparecem X e Y simultaneamente, sobre o total de registros. Já a confiança indica a porcentagem de registros que contém X e Y, sobre o total de registros que possuem X. Um conjunto de itens é chamado de itemset e seu suporte é a porcentagem das transações que contêm todos os itens do itemset. Um itemset é dito freqüente quando o seu suporte é maior ou igual a um valor de suporte mínimo definido pelo usuário. A tarefa de mineração de regras de associação consiste em duas etapas: 1. Encontrar todos os itemsets freqüentes; 2. Gerar regras de associação a partir dos itemsets freqüentes. Se, na base de dados de transações existirem m itens diferentes, o número de possíveis itemsets distintos é 2m. Desta maneira, a maior dificuldade na mineração de regras de associação está em determinar todos os itemsets freqüentes. Seja, por exemplo, I = {1, 2, 3, 4} o conjunto de todos os possíveis itens em uma base de dados. Dessa maneira, tem-se 24 = 16 possíveis itemsets. Na Figura 3 é apresentada uma estrutura, denominada lattice, que representa todos os possíveis itemsets do conjunto. Nessa estrutura, a borda em destaque separa os itemsets freqüentes (localizados na parte superior) dos itemsets não freqüentes (localizados na parte inferior). A existência dessa borda é garantida pela propriedade de que, para um itemset ser freqüente, todos os seus subconjuntos também devem ser freqüentes [15]. No entanto, o seu formato depende do suporte de cada itemset e do suporte mínimo especificado. - 30 - Figura 3 – Espaço de busca para o conjunto de itens I={1,2,3,4} O princípio básico dos algoritmos de mineração de regras de associação é empregar essa borda de maneira a diminuir o número de itemsets analisados quanto a serem freqüentes ou não. Assim que a borda é encontrada, os algoritmos restringem-se a determinar o suporte dos itemsets acima da mesma, e ignorar os que se encontram abaixo dela [16]. As estratégias mais comuns para se encontrar a borda entre os itemsets freqüentes e não freqüentes são a busca em largura e a busca em profundidade. A busca em largura determina o suporte de todos os itemsets de tamanho k-1 antes de determinar o suporte para os de tamanho k. Para determinar se um itemset é freqüente, é preciso determinar o seu suporte. Um itemset que possivelmente é freqüente e que, durante a fase em que se percorre os itemsets, decide-se que terá seu suporte determinado, é chamado de itemset candidato ou simplesmente candidato. - 31 - Uma abordagem comum para se calcular o suporte de um candidato é contar diretamente na base de dados a sua ocorrência. Para esse propósito, um contador é iniciado com zero e todas as transações da base de dados são analisadas. Cada vez que um candidato é reconhecido como um subconjunto da transação, seu contador é incrementado. Outra abordagem é determinar o suporte dos candidatos através de intersecções entre conjuntos. Um tid é um identificador único de uma transação. Para um item, sua tidlist é o conjunto dos identificadores das transações que o contêm. Da mesma maneira, tidlists também existem para cada itemset X, e são representadas por X.tidlist. A tidlist de um candidato C = X Y é obtida através de C.tidlist = X.tidlist Y.tidlist. O suporte do candidato C é obtido através de |C.tidlist | / |D|, onde |C.tidlist| é o número de tids na tidlist e |D| é o número de transações na base de dados D. As estratégias para determinar itemsets freqüentes são caracterizadas pelo modo como são percorridos os possíveis itemsets e como são determinados os valores de suporte para cada itemset. 2.4.2.1 - O Algoritmo Apriori [11] introduziu os conceitos que deram origem ao algoritmo APRIORI e suas variações. Conceitos Fundamentais do Apriori: Usualmente, o conjunto de dados que alimentam o processo de geração de regras associativas é chamado de BASKET DATA e extraído da base de dados dos sistemas OLTP; K, denota o passo atual do algoritmo. Inicialmente K = 1, sendo incrementado em 1 a cada passagem; - 32 - CK, conjunto contendo todos os itens, ou conjunto de itens, candidatos a serem freqüentes e formarem Lk. Gerado sempre através da junção de Fk-1 com ele mesmo; Lk, conjunto contendo todos os conjuntos de itens de cardinalidade K, que sejam freqüentes. Gerado no passo K através da análise de C k. Abaixo, detalharemos o funcionamento do algoritmo de descoberta de itens freqüentes. Passagem 1 Gere o conjunto de itens candidatos em C 1 Salve o conjunto de itens freqüentes em L 1 Passo k Gere o conjunto de itens candidatos em Ck do conjunto de itens freqüentes em L k -1 Junte L k –1 p com L k –1 q, como segue: inserção em C k selecione p. item 1 , q. item 1 . . . p. item k -1 , q. item k -1 de L k -1 p , L k -1 q onde p. item 1 = q.item1. . . p. item k -2 = q.item k–2 , p. item k -1 < q.item k -1 Gere todos ( k -1) - subconjunto do conjunto de itens candidatos em C k Pode todos os conjuntos de itens candidatos de C k onde alguns ( k -1) - subconjunto do conjunto de itens candidatos, não estão no conjunto de itens freqüentes L k -1 Faça a varredura da base de dados da transação para determinar o suporte para cada conjunto de itens candidatos em C k Salve o conjunto de itens freqüentes em L k Exemplo 1: Suponha que o suporte mínimo seja de 50%. A base de dados (BASKET DATA) do nosso exemplo é mostrada abaixo: - 33 - TID A B C D E F T1 1 0 1 1 0 0 T2 0 1 0 1 0 0 T3 1 1 1 0 1 0 T4 0 1 0 1 0 1 Conjunto de itens candidatos em C 2 são mostrados abaixo: ItemX suporte { A,B } 25% (1) { A,C } 50% (2) { A,D } 25% (1) { B,C } 25% (1) { B,D } 50% (2) { C,D } 25% (1) Conjunto de itens freqüentes em L 2 são mostrados abaixo: ItemX suporte { A,C } 50% (2) { B,D } 50% (2) Exemplo 2: Suponha que o suporte mínimo seja de 40%. Dado: A base de dados (BASKET DATA) deste exemplo é mostrada abaixo: - 34 - TID A B C D E T1 1 1 1 0 0 T2 1 1 1 1 1 T3 1 0 1 1 0 T4 1 0 1 1 1 T5 1 1 1 1 0 Passagem 1 C1 ItemX A B C D E L1 suporte ? ? ? ? ? ItemX A B C D E Passagem 2 C2 ItemX suporte A,B ? A,C ? A,D ? A,E ? B,C ? B,D ? B,E ? - 35 - suporte 100% (5) 60% (3) 100% (5) 80% (4) 40% (2) C,D ? C,E ? D,E ? Nada será podado desde que todos os subconjuntos deste conjunto de itens sejam freqüentes: L 2 após ter sido conservado somente o conjunto de itens freqüentes suporte ItemX L2 suporte ItemX A,B A,C A,D A,E B,C B,D B,E C,D C,E D,E 60% (3) 100% (5) 80% (4) 40% (2) 60% (3) 40% (2) 20% (1) 80% (4) 40% (2) 40% (2) A,B A,C A,D A,E B,C B,D C,D C,E D,E 60% (3) 100% (5) 80% (4) 40% (2) 60% (3) 40% (2) 80% (4) 40% (2) 40% (2) Passagem 3 Para criar C3 combine todos os itens e selecione somente os itens que têm o primeiro item equivalente (na passagem k = 3, os primeiros k - 2 itens devem combinar). C3 ItemX junte A B com A C junte A B com A D junte A B com A E suporte A, B, C ? A, B, D ? A, B, E ? C 3 após podar suporte ItemX A, B, C A, B, D A, C, D A, C, E A, D, E - 36 - ? ? ? ? ? junte A C com A D junte A C com A E junte A D com A E junte B C com B D junte C D com C E A, C, D ? A, C, E ? A, D, E ? B, C, D ? C, D, E ? B, C, D C, D, E ? ? Conte as transações na base de dados. L3 ItemX suporte A, B, C 60% (3) A, B, D 40% (2) A, C, D 80% (4) A, C, E 40% (2) A, D, E 40% (2) B, C, D 40% (2) C, D, E 40% (2) A poda elimina ABE, pois não é freqüente. Passagem 4 Os primeiros k – 2 = 2 itens, devem combinar na passagem k = 4. - 37 - C4 ItemX suporte Junte ABC A, B, C, ? com AB D D Junte CA D A, C, D, ? com CA E E Poda: Para ABCD ser freqüente, temos que verificar se ABC, ABD, ACD, BCD são freqüentes. Em todos os casos, são freqüentes, assim nós não podamos ABCD. Para ACDE ser freqüente, temos que verificar se ACD, ACE, ADE, CDE são freqüentes. Em todos os casos, são freqüentes, assim nós não podamos ACDE. L4 ItemX suporte A, B, C, D 40% (2) A, C, D, E 40% (2) Ambos são freqüentes. Passagem 5: Não podemos realizar a passagem 5, pois não existem k – 2 = 3 itens, que combinem. Exemplo 3: Considerando a mesma Basket Data anterior, suponha que o suporte mínimo seja de 40% e suponha também que a confiança mínima seja de 80%, quanto maior a confiança, menor é a chance de coincidência; considere também a existência do lift. A confiança (regras em que a implicação raramente se confirma não são regras úteis. A confiança é dada por suporte (XY) / suporte (X) e representa a - 38 - probabilidade de que uma transação satisfaça Y, dado que ela satisfaz X ) é calculada através da fórmula: SUPORTE (A B) / SUPORTE A Lift (quantidade de vezes em que X aumenta a chance de ocorrer Y) é calculada através da fórmula: CONFIANÇA (A B) / SUPORTE B O suporte (regras úteis são regras que ocorrem com freqüência, são confiáveis e fazem predições interessantes. O suporte de uma regra (XY) é a probabilidade de uma transação que satisfaça tanto X como Y) é representado como o total de ocorrências de e o suporte relativo como a probabilidade de se encontrar A e B; vale ressaltar que suporte relativo e suporte se equivalem. Passagem 1: Não são calculados a confiança e o Lift, pois não existe a condição A B. L1 ItemX suporte A 100% (5) B 60% (3) C 100% (5) D 80% (4) E 40% (2) Passagem 2: Confiança (A B) = Suporte (A B) / Suporte (A) - 39 - Suporte (A B) = 60% = 0,6 Suporte (A) = 100% = 1 Confiança (A B) = 0,6 = 60% Lift (A B) = Confiança (A B) / Suporte (B) Confiança (A B) = 0,6 Suporte (B) = 0,6 Lift (A B) = 1 = 100% Sendo assim: L 2 após ter sido conservadoL 2 após ter sido conservado somente o conjunto de itenssomente o conjunto de itens freqüentes. com confiança superior à mínima. [Moldura7] [Moldura8] Passagem 3: L3 ItemX Suporte confiança lift A, c, d 80% (4) 80% 1,0 - 40 - CAPÍTULO III – O ESTADO DA ARTE A quantidade de dados disponíveis vem crescendo assustadoramente nos últimos anos e vários fatores contribuíram para este incrível aumento. O baixo custo na armazenagem pode ser visto como a principal causa do surgimento destas enormes bases de dados. Um outro fator é a disponibilidade de computadores de alto desempenho a um custo razoável. Como conseqüência, estes bancos de dados passam a conter verdadeiros tesouros de informação e, devido ao seu volume, ultrapassam a habilidade técnica e a capacidade humana na sua interpretação [17]. Com isso, o conhecimento se torna de vital importância para o mundo dos negócios e, na atualidade, as empresas reagem mais rapidamente às mudanças de mercado, onde a ação ou efeito de conhecer torna-se cada vez mais crítico ao próprio negócio. O conhecimento adquirido deve ser consistente, útil e compreensível para a sua correta interpretação e uso. Empresas que detêm ou fornecem o conhecimento adquirido com confiabilidade, rapidez e de forma organizada têm grandes chances de permanecerem de forma competitiva no mercado. Dada esta grande importância na corrida por informações significativas, surge a necessidade de transformar estes dados em informação para que se torne apoio nas tomadas de decisão, podendo ser usada para melhorar procedimentos, detectar tendências e características disfarçadas e até prevenir ou reagir a um evento que ainda esteja por vir. - 41 - Com isso vamos citar algumas reportagens de casos de utilização dessa tecnologia na área comercial, caso estes ocorridos aqui no Brasil. “Prateleira Cheia no Wal-Mart – Bill Gonzales comanda a tecnologia que abastece os 300 supermercados da rede no Brasil” [23]: Em entrevista o chefe de TI, Bill, explica o funcionamento do Software Market Basket 6, que estuda as compras por clientes, e olha que passam semanalmente cerca de 160 milhões de clientes em todas as 100 mil lojas pelo mundo, sendo assim descobrem o item que é mais vendido, a banana por exemplo é o itens mais vendido em todas as lojas, e daí é analisado o que mais se compra junto com ela. Se for a Coca-cola eles à aproximam da banana, uma filosofia segundo eles de ”Eu não sei quem você é, mas sei o que você compra”. Eles ainda tem todo o controle de venda dos itens podendo saber qual item foi vendido, onde, quantos e a hora. “Gestão Transparente – Sabesp(Companhia de Saneamento Básico do Estado de São Paulo) redesenha o data warehouse e implanta BI para que os gestores atuem sobre a rentabilidade” [24]: Considerada a maior companhia de seu setor na América Latina, com 17600 funcionários e faturamento anual cerca de 5 bilhões, ela implantou um Sistema de Gestão Empresarial para descentralizar a tomada de Decisões para agilizar os processos. Através de ACR(Avaliação de Controles e Resultados) que são usados como forma de controle e posteriormente gerando as avaliações do negócios, eles conseguem saber onde há queda de receita além de detecção de níveis impróprios para o consumo de água na região Metropolitana de São Paulo, algo que pode ocasionar em desistência de clientes ou mesmo induzi-los a fraudes.O grande benefício é permitir acesso a informações atualizadas e confiáveis para que cada gestor tenha liberdade de montar seu próprio plano de ação e suas métricas a fim de obter redução de custos e aumento de arrecadação, ou seja, é um sistema de autogestão e de autocontrole em prol da melhoria dos controles internos e dos resultados. A intenção é integrar todas as áreas da empresa (contabilidade, 6 Software de mineração de dados utilizado pela rede de supermercados Wal-Mart. - 42 - orçamentária, financeiro, patrimonial e telecomunicações) além de detecção de fraudes e vazamentos. “BI no Porto – Empresa de logística Wilson, Sons reduz 70% das filas de caminhões no terminal de carga com uso de Business Intelligence” [25]: O terminal de contêineres da empresa Wilson inaugurada em 2000, operava com 50% de sua capacidade devido o controle de carga e descarga de caminhões e navios serem controlados por formulários de papel, cerca de 27500 documentos eram gerados por mês. Sabia-se que era preciso ser automatizado, pois com o processo de formulários, além de gerar muita papelada em um alto custo, era impossível de se conseguir gerar alguma informação útil em tempo hábil, pois depois de finalizado os formulários ainda tinham que serem lançados no sistema de histórico de transação, ou seja, mesmo que se consegui encontrar algo relevante seria tarde de mais pelo gargalo que os formulários geravam. Na primeira fase eles fizeram a reengenharia de todo o processo e substituíram os formulários por coletores de dados além da parte de redundância da estrutura de TI. Na segunda fase entrou o desenvolvimento e implantação de um dashboard (painel de controle) baseado na ferramenta BI da Cognos 7, a partir daí o gestor passou a ter todas as informações do sistema seja as estatísticas da atividade, tempo de carga ou descarga, quantos caminhões na fila, em quanto tempo o pátio ficaria cheio de contêineres e assim ele poderia tomar imediatamente as possíveis soluções. Vamos descrever abaixo alguns projetos acadêmicos para dar uma visão também da importância da utilização da descoberta de conhecimento nessa área. 3.1 ”A DESCOBERTA DO PERFIL DO ALUNO DE GRADUAÇÃO QUE INTERROMPE SEUS ESTUDOS NO CAMPUS CENTRAL DA UNIVERSIDADE LUTERANA DO BRASIL” – Autor: Maurício Rosa de Azeredo [19] 7 A ferramenta Cognos é o software de OLAP mais vendido no mundo, permite que os usuários analisem o maior número de dados com grande responsabilidade e precisão. - 43 - 3.1.1 Resumo Este trabalho apresenta o método de descoberta do conhecimento em banco de dados (KDD), significando a busca entre as informações de um padrão ou relacionamento intrínseco, para descobrir a resposta de um problema que, com os métodos comuns de consulta à banco de dados, não é possível, suas etapas e algumas ferramentas que podem facilitar o processo de descoberta. Devido a grande quantidade de dados da ULBRA, algumas informações gerenciais ficam escondidas entre os dados armazenados. Uma das informações é o perfil do aluno que interrompe os estudos na Universidade, problema que, ao final do trabalho, utilizando a metodologia e a ferramenta SIPINA para a mineração de dados, chegase a um resultado que poderá contribuir para a continuidade dos estudos do aluno na Universidade. Palavras-chaves: Knowledge Discovery in Database; Mineração de dados; Sipina. 3.1.2 Proposta O grande intuito da utilização da tecnologia de Mineração de dados neste caso é dar maior suporte aos Diretores, haja vista que as instituições de ensino têm como seus principais clientes os alunos. Portanto, a permanência e a fidelidade dos estudantes na instituição são de grande importância. Por ser uma das universidades de maior destaque do Brasil, a ULBRA contém uma enorme quantidade de dados, o que dificulta a análise dos dados pelos métodos comuns de busca em banco de dados. Em uma instituição como esta, a mineração de dados pode ser muito útil para evitar a evasão do aluno e, com isso, criar uma fidelização do aluno. O que ocorre, na verdade, é que nota-se um índice de abandono grande nos cursos, ou seja, muitos acabam desistindo ou parando no meio dos estudos, mas a - 44 - instituição não sabe nem ao certo o que os leva a essa evasão. Aí que entra a utilização da descoberta de conhecimento que, através do banco de dados da instituição, irá buscar as razões pelas quais os alunos deixam de seguir suas atividades, visando prever uma desistência e corrigi-la em tempo, permitindo que o estudante permaneça por mais tempo na instituição. Devido à facilidade de obtenção e considerando a utilização anterior do Sipina na Universidade Luterana do Brasil, esta ferramenta foi utilizada para obtenção do conhecimento dentro do processo de KDD, sendo assim, um fator positivo pelo conhecimento da ferramenta e seus recursos. Depois de escolhida a ferramenta, vem a preparação dos dados e a escolha dos mesmos dispõe de muito conhecimento de como as informações estão dispostas no banco de dados e da ferramenta que será utilizada na etapa de mineração de dados, pois pode acontecer de uma informação ser selecionada para participar da descoberta do conhecimento e esta não ser aproveitada na etapa de mineração de dados, sendo assim, essa é uma parte crucial no processo de KDD e exige muita atenção. Logo, a mineração de dados através da ferramenta Sipina revelou alguns perfis de alunos que interromperam os estudos na ULBRA e cabe, a partir deste ponto, ao administrador responsável estabelecer um campo de ação para diminuir a existência desses perfis. 3.2 ”ESTUDO EM MINERAÇÃO DE DADOS APLICADO A UMA BASE DE DADOS DE MATERIAIS DE ESTOQUE DA INDÚSTRIA SIDERÚRGICA” – UNIVERSIDADE LUTERANA DO BRASIL - Autora: ANNELISE PEGORINI GUIMARÃES. [20] 3.2.1 Resumo Nos últimos anos, a capacidade das empresas de gerar e armazenar grandes quantidades de dados aumentou significativamente e foram desenvolvidas - 45 - novas técnicas e ferramentas com capacidade de processar e analisar os dados de forma automática e inteligente. A mineração de dados representa o processo de extrair informação implícita, desconhecida e útil em grandes bases de dados. Este trabalho apresenta um estudo das técnicas de mineração de dados e a aplicação de uma dessas técnicas na base de dados de materiais da indústria siderúrgica. Palavras-chaves: Mineração de Dados, Técnicas de Mineração de Dados, Descoberta de Conhecimento em Base de Dados, WizRule, Aira, Sipina. 3.2.2 Proposta Este trabalho utiliza uma aplicação de Data Mining para auxiliar no trabalho de padronização técnica da nomenclatura de materiais de estoque de almoxarifado utilizados na indústria siderúrgica. Na área de consultoria técnica, normalmente se utilizam grandes bases de dados, com alto grau de complexidade, o que torna difícil definir a melhor estratégia para a realização do trabalho de acordo com as necessidades do cliente. O objetivo é realizar um estudo de caso em uma base de dados de materiais de estoque de almoxarifado, usando a ferramenta SIPINA que utiliza a técnica de Árvores de Decisão. A escolha da técnica de Árvore de Decisão, que foi utilizada neste trabalho, é uma boa opção por ser uma técnica simples, adequada a atributos numéricos, mais fácil de ser compreendida e pode ser utilizada em grandes bases de dados. A ferramenta Sipina foi selecionada para a validação da técnica de Data Mining, porque possui licença para uso educacional, implementa o método de classificação e utiliza árvore de decisão para representar o conhecimento obtido. Após a aplicação da ferramenta, será realizada uma análise dos resultados para definir e classificar o tipo e o nível de pesquisa necessário para a padronização da nomenclatura dos diversos grupos de materiais, definir o perfil de recursos - 46 - humanos que serão utilizados na execução do trabalho e identificar qual o grau de importância dos grupos de materiais para estabelecer a ordem lógica de realização do trabalho. Com isso, utilizar as árvores de decisão que apresentaram o conhecimento de maneira mais significativa. Com a utilização da mineração de dados, a empresa pretende quantificar com maior precisão os recursos humanos e materiais que serão empregados e definir com maior clareza os métodos e processos que serão utilizados. 3.3 ”ALGORITMO SSDM PARA A MINERAÇÃO DE DADOS SEMANTICAMENTE SIMILARES” – Autor: EDUARDO LUÍS GARCIA ESCOVAR. [21] 3.3.1 Resumo Neste trabalho, é apresentado o algoritmo SSDM (Semantically Similar Data Miner), criado para permitir a mineração de dados semanticamente similares. Usando conceitos de lógica nebulosa, esse algoritmo analisa o grau de similaridade entre os itens e o considera, caso ele seja maior do que um parâmetro definido pelo usuário. Quando isso ocorre, são estabelecidas associações nebulosas entre os itens, que são expressas nas regras de associação obtidas. Assim, além das associações descobertas por algoritmos convencionais, o SSDM também descobre associações semânticas e as exibe junto às demais regras obtidas. Para isso, são definidas estratégias para descobrir essas associações e para calcular o suporte e a confiança das regras onde elas aparecem. Palavras-chave: Lógica Nebulosa, Mineração de Dados, Regras de Associação, Similaridade, Semântica. - 47 - 3.3.2 Proposta Embora haja um enorme avanço nas pesquisas na área de descoberta de conhecimento, a solução de alguns problemas, como mineração de dados multimídia (imagem, áudio e vídeo), permanece em aberto. Dessa forma, o objetivo foi a realização da mineração de dados semanticamente similares, usando conceitos de lógica nebulosa para processar e representar as similaridades semânticas encontradas entre os itens armazenados em uma base de dados. Para isso, foi necessária a definição de estratégias para se descobrir associações nebulosas entre itens similares, permitindo assim a sua consideração entre os itens a serem minerados. Para atingir este objetivo, foi criado um algoritmo que, considerando a existência dessas associações, estabelece novas formas de cálculo para o suporte e a confiança das regras a serem descobertas. Deu-se o nome de SSDM (Semantically Similar Data Miner) ao algoritmo que nada mais é que a junção de um algoritmo clássico, o Apriori, com o uso dos conceitos de lógicas nebulosas. A Lógica Nebulosa (Lógica Fuzzy) trata matematicamente informações imprecisas usualmente empregadas na comunicação humana, permitindo inferir uma resposta aproximada para uma questão baseada em um conhecimento que é inexato, incompleto ou não totalmente confiável. É nesta natureza da informação que reside à nebulosidade. A mineração de dados tem como principal objetivo a descoberta de conhecimento, seja qual for o tipo dos dados minerados. A análise do significado dos dados minerados (ou seja, de sua semântica) naturalmente contribui para que a qualidade das informações obtidas através da mineração seja maior e, conseqüentemente, melhores devem ser as decisões guiadas por essas informações, pois essa técnica trata cada item semanticamente e não como apenas uma cadeia de caracteres (String), ou seja, o seu significado assume um importante papel na mineração dos dados. Assim, itens como pão e baguete, por exemplo, seriam considerados completamente diferentes por eles. De fato, as strings8 são totalmente distintas, mas pertencem a um mesmo contexto (domínio). Afinal, pão e 8 Conjunto de caracteres encontrados em bancos de dados e interface que estão sujeitos ao processo de tradução. - 48 - baguete são utilizados para um mesmo fim (alimentação), têm aspecto semelhante, possuem basicamente os mesmos ingredientes e geralmente estão disponíveis para a venda no mesmo local, logo, é um caso de similaridade semântica entre os itens, ignorada por algoritmos clássicos, mas que podem desperdiçar informações relevantes. Minerar os dados sem considerar a similaridade semântica entre itens, por exemplo, leva a regras de associação que envolvem esses itens apenas individualmente. Uma análise adicional que considere associações entre esses itens similares poderia levar à descoberta de outras regras de associação, possivelmente relevantes também. O algoritmo SSDM, que teve base no algoritmo Apriori, introduziu um novo conceito ao Apriori para satisfazer suas premissas, que é o conceito de grau de similaridade, que nada mais é do que o grau de similaridade entre os itens que pode ser expresso por um valor real no intervalo [0,1]. Embora o processo de mineração de dados multimídia ainda não seja totalmente automático devido a sua complexidade, esse estudo mostra que, mesmo assim, pode-se gerar conhecimento através dos mesmos. Com a criação e aplicação do algoritmo SSDM, tornou-se possível descobrir regras de associação que refletem a similaridade semântica que pode haver entre os dados. Em aplicações de mineração de dados, muitas vezes, a análise do conhecimento obtido pode ser influenciada pela qualidade de representação das informações e, na tentativa de melhorá-la, o uso de conceitos da lógica nebulosa em mineração de dados tem sido bastante explorado. Assim, a utilização dos conceitos de lógica nebulosa no SSDM contribuiu para que a representação e manipulação das informações estejam mais próximas da linguagem humana. Com isso, o conhecimento fornecido por essas regras passa a ser mais rico, pois são reveladas associações entre os dados que algoritmos convencionais não são capazes de descobrir. Como o processo de descoberta de conhecimento (KDD) busca padrões potencialmente úteis e compreensíveis nos dados, quanto melhor for a compreensão do conhecimento obtido, maior será a sua utilidade. A mineração de dados semanticamente similares caminha nesse sentido. - 49 - 3.4 “EXTRAÇÃO DE REGRAS DE ASSOCIAÇÃO EM UMA BASE DE DADOS RELACIONAL” – Autor: Hélcio Gomes de Souza Filho. [22] 3.4.1 Resumo Atualmente, as empresas estão armazenando uma quantidade grande de dados e, com isso, surge a necessidade de se criar procedimentos automatizados para pesquisar estes dados a fim de descobrir as associações e correlações existentes, porém ocultas. Os algoritmos de extração de regras de associação constituem uma importante ferramenta para busca de conhecimento escondido em grandes bases de dados. Nosso trabalho tem o objetivo de desenvolver uma forma otimizada de extrair as regras de associação utilizando as facilidades disponíveis nos SGBDs relacionais. Palavras-chave: Regras de Associação, Banco de Dados Relacional, Algoritmo Apriori. 3.4.2 Proposta (Desenvolvimento) Este trabalho aborda a utilização de regras de associação, uma das mais importantes técnicas de mineração de dados, através da implementação do algoritmo Apriori, com a finalidade de descobrir associações e correlações existentes entre os dados de um grande banco de dados que atendam a critérios estabelecidos, satisfazendo, assim, a necessidade de extração automática de conhecimento dos mesmos. O algoritmo Apriori é um dos mais conhecidos para encontrar grandes conjuntos de itens em bancos de dados de transações. A proposta aqui é integrar o algoritmo - 50 - Apriori com um SGBD relacional, visto que muitas das implementações encontradas fazem uso de arquivos de dados isolados. Nessa parte da implementação, surge um conceito importante sobre a ligação, ou melhor, integração entre o SGBD e o Apriori, que é o fato deles poderem ser implementados fracamente acoplados, ou seja, o algoritmo é executado fora do SGDB, tornando-o um mero local de armazenamento ou a implementação pode ser fortemente acoplada, onde os dados e a aplicação estão armazenados no núcleo do SGBD. Foi usada, aqui, a segunda abordagem, pois o algoritmo foi implementado através de procedimentos armazenados e escritos na linguagem Transact-SQL. Foi utilizado, então, o SGBD da Microsoft, SQL SERVER 2000, pela sua opção de utilização de procedimentos escritos em Transact-SQL, como já foi dito, para uma maior integração e desempenho na execução do algoritmo no SGBD, evitando, assim, uma maior necessidade de hardware empregado e obtendo um menor tráfego nas redes, pois tudo é rodado dentro do banco de dados. Utilizando uma base de dados com 268 transações de clientes de um mercado, onde os clientes podem escolher entre vários produtos, uma situação real que ocorre no dia a dia, foi constatado que, embora o algoritmo tenha tido um bom desempenho, fica claro que existem gargalos, em se tratando de desempenho comparado com arquivos isolados, até mesmo pelo volume de dados, mas a expectativa é que, com a atual demanda de mineração de dados, os SGBDs venham a integrar novas funções que facilitem no processo. Mas também existem fatores positivos, como a facilidade de diversas aplicações escritas em diversas linguagens utilizarem uma mesma implementação, pois basta solicitar através de linguagem SQL ao SGBD, já que as rotinas estão armazenadas neles próprios, retornando, assim, o mínimo de dados, reduzindo o tráfego de dados, e o fato de, com pequenas mudanças, o algoritmo poder ser implementado em outro SGBD, que outrora também suporte os Transact-SQL. - 51 - CAPÍTULO IV - O SOFTWARE DE MINERAÇÃO Weka 4.1– Introdução O Weka é um software minerador de dados escrito em Java9, desenvolvido na Universidade de Waikato, na Nova Zelândia, com a finalidade de analisar um grande corpo de dados e decidir quais as informações mais relevantes. Esta informação cristalizada pode, então, ser usada para fazer previsões ou para ajudar a tomar decisões de forma mais rápida e exata. [X1] 9 Linguagem de programação orientada a objetos, desenvolvida pela Sun Microsystems, Inc. - 52 - Figura 4 – Tela de Apresentação do Weka O Weka possui uma coleção de algoritmos que podem ser usados na mineração dos dados. Dentro desta coleção, estão algoritmos que utilizam diferentes técnicas para extração dos dados, tal como regras de associação, classificação de instâncias, determinação de relevâncias entre os atributos, entre outros. O software é capaz de visualizar atributos simples, bem como pares de atributos. Esquemas de aprendizado implementados incluem árvores de decisão e listas. - 53 - Figura 5 – Tela Explorer do Weka O Weka pode tanto minerar uma base de dados selecionada quanto arquivos que são gerados em formato específico para utilização do próprio software. O arquivo utilizado deve ser *.arff como extensão. Um exemplo de seu conteúdo pode ser visto abaixo. Tabela condições.arff: @relation condicoes @attribute aparencia {chuvoso,encoberto,sol} @attribute temperatura {frio,agradável,quente} @attribute umidade {normal,alta} @attribute vento {falso,verdade} @attribute jogo {sim,nao} - 54 - @data chuvoso,frio,normal,falso,sim chuvoso,agradável,alta,falso,sim encoberto,quente,alta,falso,sim sol,quente,alta,verdade,nao sol,quente,alta,falso,nao chuvoso,frio,normal,verdade,nao - 55 - CAPÍTULO V – DESENVOLVIMENTO Neste capítulo, apresentaremos o protótipo desenvolvido e a descrição de suas funções. No desenvolvimento do software, foi utilizada a linguagem Delphi e o banco de dados utilizado foi o SQL Server 7.0. - 56 - 5.1 – Descrição das Funções do Sistema Figura 6 - Tela principal do protótipo (1) Botão de seleção da base de dados a ser minerada; (2) Nome da tabela selecionada (3) Nome do Algoritmo utilizado (4) Valor do suporte mínimo definido pelo usuário; (5) Confiança mínima definida pelo usuário; (6) Campos da tabela; (7) Atributos do campo selecionado; (8) Gerar tabela “Selecionados” (Estudo de caso). (9) Botão de criação da tabela principal; (10) Botão de mineração (11) Exibição dos resultados obtidos; (12) Relatório final (13) Botão de saída. (14) Status de conexão com o Banco de dados (15) Informações da tabela selecionada (16) Indicadores dos passos do algoritmo - 57 - Figura 7 – Tela para criação da tabela “Selecionados”. (1) – Nome da tabela de negócio; (2) - Campos da tabela de negócio; (3) - Campos da tabela a ser minerada; (4) – Botão gerador da tabela a ser minerada. Figura 8 – Tela de exibição dos resultados - 58 - (1) – Seleção dos níveis de mineração; (2) – Informações do passo; (3) - Apresentação dos dados. 5.2 – O protótipo no KDD (Caso de Uso) Nesse protótipo as fases do KDD, abordados na figura 1, seguem da seguinte maneira: Começamos essa etapa do projeto com a escolha da nossa base de dados. Seleção: Aqui fizemos a opção de uso da tabela de clientes. Processamento: Nesta etapa do protótipo resolvemos o problema dos campos nulos da tabela. E daí aplicamos um filtro para selecionar os clientes negativos (“Maus pagadores”). Vide figura 7. Transformação: Nesta etapa foi realizada uma analise dos campos que seriam minerados (úteis) estudando seus suportes para obtenção do perfil dos clientes “negativados”. Criação da tabela SELECIONADOS. Vide figura 7 – Função 4. Como o algoritmo Apriori trata dos campos como atributos booleanos, foi necessário que fizéssemos a relação do nome do campo e seu atributo pois estes eram multivalorados. Estado Civil Bairro Solteiro Centro Casado Pecuária - 59 - T1 Estado Civil = Solteiro T1 Bairro = Centro T2 Estado Civil = Casado T2 Bairro = Centro Desta forma consegue se obter o suporte dos campos multivalorados. Mineração: Nesta etapa é aplicado sobre os dados o algoritmo Apriori. Vide figura 6 - Função 10. Interpretação dos dados: Apresentação do relatório com os valores da mineração relacionada. A partir daí se faz análise dessas regras e obtém o conhecimento. Figura 9 – Relatório de Mineração – Informações sobre o Banco de Dados. - 60 - Figura 10 - Relatório de Mineração – Informações dos parâmetros do Algoritmo. Figura 11 - Relatório de Mineração – Regras encontradas. Após concluída as fases descritas acima sobre o caso de uso, chegamos ao seguinte perfil do cliente “negativado”. - 61 - E sua maioria, o cliente em questão: Não possui cartão de credito Não é cliente bloqueado Não possui casa própria O limite máximo de valor de prestação é de R$ 20,00 Fez somente uma compra 5.3 – Protótipo x Weka O software Weka, apresentado no capítulo IV, foi utilizado como forma de comparação com o nosso protótipo no caso de uso descrito a seguir, a fim de confirmar os resultados obtidos. Figura 12 – Tela de Padrões Encontrados pelo Protótipo. Figura 13 - Tela de Padrões Encontrados pelo Weka 10 regras. Todos os padrões encontrados pelo protótipo, também puderam ser encontrados no Weka quando a mesma tabela (página 55) foi minerada. Os padrões destacados, só foram encontrados quando o parâmetro “número de regras” - 62 - no Weka foi colocado em 20, isto porque o Weka faz uso de outros parâmetros não utilizados no nosso protótipo. Figura 14 - Tela de Padrões Encontrados pelo Weka 20 regras. - 63 - CAPÍTULO VI – CONCLUSÃO E RECOMENDAÇÕES Encontramos ferramentas Data Miners bastante poderosas no mercado de TI, porém, para se conseguir o uso correto dessa eficácia, pessoas treinadas e capacitadas devem fazer parte de todo o processo. Ao contrário do que muitos pensam nem sempre é o padrão mais forte ( associação de uma quantidade maior de itemsets ) que correspondem exatamente com a realidade, sendo necessário a associação destes com demais padrões (fracos) . Na fase de análise deve-se fazer a ponderação desses padrões cuidadosamente, afim de que medidas e ou providências não sejam tomadas de forma errônea. Para trabalhos futuros sugerimos que seja escolhido um padrão preditivo de mineração de dados. Tal padrão pode ser implementado com a utilização das técnicas de redes neuronais como no caso do Algoritmo SSDM. Esperamos que com esse trabalho possamos contribuir no estudo daqueles que por ventura venham trabalhar com ferramentas miners e ainda com profissionais que atuem em áreas correlatas. - 64 - CAPÍTULO VII – BIBLIOGRAFIA [1] BERRY , Michael J. e LINOFF, Gordon. Data Mining Techniques For Marketing, Sales and Customer Support. John Wiley & Sons, 1997. [2] Valdemar W. Setzer Depto. de Ciência da Computação, Universidade de São Paulo. http://www.ime.usp.br/~vwsetzer/dado-info.html [3] SINGH, Harry S. (2001). Data warehouse - Conceitos, Tecnologias, Implementação e Gerenciamento. Tradução: Mônica Rosemberg. São Paulo, Makron Books, 382p. [4] Kimball, R., The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses, John Wiley & Sons, Inc., New York, 1996. [5] Inmon, W.H., Building the Data Warehouse, John Wiley & Sons Inc., USA, 1992. [6] Fayyad, U. (1997) Advances in Knowledge Discovery and Data Mining. The AAAI Press, 1996. [7] Fayyad, Usama; Piatetski-Shapiro, Gregory; Smyth, Padhraic (1996) The KDD Process for Extracting Useful Knowledge from Volumes of Data, Communications of the ACM, 1996. [8] DW BRASIL; http://www.dwbrasil.com.br/html/dmining.html em novembro de 2004. - 65 - [9] GRUPO DE SISTEMAS INTELIGENTES;http://www.din.uem.br/~ia/ em agosto 2005. [10] Attar, A. A.,” Data Mining - Beyond Algorithms”, http://www.attar.co.uk, 1999. [11] Agrawal R., Imielinsk T., Swami A. “Mining Association Rules Between Sets of Items in Large Databases”, 1993. [12] ROMÃO, Wesley, NIEDERAUER, Carlos A. P., MARTINS0, Alejandro, TCHOLAKAIN, Aran, PACHECO, Roberto C. S., e BARCIA, Ricardo M. Extração de Regras de Associação em C&T: O Algoritmo Apriori. Programa de Pós-Graduação em Engenharia de Produção - UFSC, Florianópolis, Brasil; 20P. [13] HAN, Jiawey e KAMBER, Micheline. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2001. [14] Elmasri, R. & Navathe, S. B. (2004), Fundamentals of Database Systems, 4th edition edn, Pearson Addison Wesley. [15] Agrawal R., Srikant, R. “Fast Algorithms for Mining Association Rules”, 1994. [16] J. Hipp, U. G untzer, and G. Nakhaeizadeh. Algorithms for association rule mining: a general survey and comparison. SIGKDD Explorations,2000. [17] Carvalho, Deborah Ribeiro. Data Mining Através de Indução de Regras e Algoritmos Genéticos. Dissertação (Mestrado em Informática Aplicada) – Pontifícia Universidade Católica do Paraná (PUC-PR), Curitiba. [18] WEKA SOFTWARE; http://www.cs.waikato.ac.nz/ml/weka/ em agosto 2004. [19] AZEREDO, Maurício Rosa de (2004). A descoberta do perfil dos alunos de graduação que interrompe seus estudos no campus central da Universidade Luterana do Brasil.Trabalho de Conclusão de Curso Superior de Tecnologia em Informática. Rio Grande do Sul: Universidade Luterana do Brasil, Canoas, 57p. [20] GUIMARÃES,Annelise Pegorini (2003). Estudo em Mineração de Dados Aplicado a uma Base de Dados de Materiais de Estoque da Indústria - 66 - Siderúrgica. Trabalho de Conclusão de Curso Superior de Tecnologia em Informática. Rio Grande do Sul: Universidade Luterana do Brasil, Canoas, 78p. [21] ESCOVAR, Eduardo Luís Garcia (2004). Algoritmo SSDM para a Mineração de Dados Semanticamente Similares. Dissertação de Mestrado. São Paulo: USP - São Carlos, 87p. [22] SOUZA FILHO, Hélcio Gomes de. (2004) Extração de Regras de Associação de um Banco de Dados Relacional. Tese de mestrado. Rio de Janeiro: UFRJ, COPPE, 67p. [23] TERZIAN, Françoise - Setembro (2006). Prateleira cheia no WAL-MART (Info Exame). São Paulo: Editora Abril. [24] PAVANI, Luana - Setembro (2006). Gestão Transparente (Info Corporate). São Paulo: Editora Abril. [25] OSSAMU, Carlos – Outubro (2006). BI no Porto (Info Corporate). São Paulo; Editora Abril. [26] DIAS, Evandro & PESSANHA, Fernando Fernandes & SOUZA, Frederico pinto & MANHÃES, Sandro de Souza (2003). Utilização das Tecnologias de Business Intelligence para Descoberta de Conhecimento em Bases de Dados. Trabalho de conclusão do curso de Ciência da computação. Campos dos Goytacazes: Universidade Candido Mendes. - 67 -