Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Curso de Especialização em Sistemas de Banco de Dados Cristiane Neves Kasahara Fernando Wilson Sousa Conceição “ANÁLISE DE FERRAMENTAS DE MINERAÇÃO DE DADOS” Belém - PA 2008 Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Curso de Especialização em Sistemas de Banco de Dados Cristiane Neves Kasahara Fernando Wilson Sousa Conceição “ANÁLISE DE FERRAMENTAS DE MINERAÇÃO DE DADOS” Monografia apresentada à Universidade Federal do Pará como requisito parcial para obtenção do grau de Especialista em Sistemas de Banco de Dados. Professora Orientadora: MSc. Miriam Lúcia Campos Serra Domingues. Belém - PA 2008 ii Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Curso de Especialização em Sistemas de Banco de Dados Cristiane Neves Kasahara Fernando Wilson Sousa Conceição Monografia apresentada para obtenção do título de Especialista em Sistemas de Banco de Dados. Atribuo conceito excelente à Monografia apresentada no dia 25 de abril de 2008, pelos alunos: Cristiane Neves Kasahara e Fernando Wilson Sousa Conceição, intitulada Análise de Ferramentas de Mineração de Dados. Belém, 25 de abril de 2008. _________________________________________________________ Orientadora: Profª MSc. Miriam Lúcia C. S. Domingues Belém - PA 2008 iii SUMÁRIO 1. INTRODUÇÃO ...................................................................................................................................... 10 1.1 MOTIVAÇÃO ....................................................................................................................................... 10 1.2 OBJETIVOS .......................................................................................................................................... 10 1.2.1 Geral .......................................................................................................................................... 10 1.2.2 Específico................................................................................................................................... 10 1.3 DESCRIÇÃO ......................................................................................................................................... 11 2. DESCOBERTA DE CONHECIMENTO EM BASE DE DADOS OU MINERAÇÃO DE DADOS ...................................................................................................................................................................... 12 2.1 CONCEITO DE DCBD.......................................................................................................................... 12 2.2 DEFINIÇÃO DE MINERAÇÃO DE DADOS .............................................................................................. 13 2.3 ETAPAS DO PROCESSO DE MINERAÇÃO DE DADOS OU DCBD............................................................ 14 2.3.1 Identificação do Problema......................................................................................................... 15 2.3.2 Pré-processamento .................................................................................................................... 15 2.3.3 Extração de Padrões.................................................................................................................. 16 2.3.4 Pós-processamento .................................................................................................................... 18 2.3.5 Utilização do conhecimento....................................................................................................... 20 3. REGRAS ASSOCIATIVAS ............................................................................................................. 21 3.1 ALGORITMO APRIORI .......................................................................................................................... 21 4. FERRAMENTAS ................................................................................................................................... 24 4.1 WEKA ............................................................................................................................................... 24 4.2 TANAGRA........................................................................................................................................ 32 5. ESTUDO DE CASO ............................................................................................................................... 39 5.1 COMPREENSÃO DO DOMÍNIO DA APLICAÇÃO ...................................................................................... 39 5.1.1 Cenário ...................................................................................................................................... 39 5.1.2 Dados gerais da empresa........................................................................................................... 39 5.1.3 Definições dos testes bioquímicos utilizados ............................................................................. 39 5.2 ESCOLHA DAS FERRAMENTAS E TAREFAS UTILIZADAS........................................................................ 43 5.3 DESCRIÇÃO DO PROCESSO DE MINERAÇÃO DE DADOS APLICADO AO PROBLEMA ................................ 43 5.3.1 Identificação do Problema......................................................................................................... 43 5.3.2 Pré-Processamento .................................................................................................................... 43 5.3.3 Extração e Integração................................................................................................................ 44 5.3.4 Transformação........................................................................................................................... 44 5.3.5 Extração de Padrões.................................................................................................................. 45 5.3.6 Escolha da Tarefa ...................................................................................................................... 45 5.3.7 Escolha do Algoritmo ................................................................................................................ 45 5.3.8 Parâmetros Utilizados ............................................................................................................... 45 5.3.9 Resultados.................................................................................................................................. 46 5.4 AVALIAÇÃO DO RESULTADO .............................................................................................................. 50 5.5 COMPARAÇÃO DAS FERRAMENTAS ..................................................................................................... 51 5.5.1 Interface ..................................................................................................................................... 51 5.5.2 Facilidade de uso....................................................................................................................... 53 5.5.3 Apresentação dos Resultados..................................................................................................... 54 5.5.4 Resultados obtidos ..................................................................................................................... 54 6. CONSIDERAÇÕES FINAIS................................................................................................................. 55 REFERÊNCIAS ......................................................................................................................................... 56 iv LISTAS DE TABELAS Tabela 4.1 - Opções de Parâmetros.....……………………………………......…........... 21 Tabela 5.1 - Dados coletados……………………………………………….....…........... 35 Tabela 5.2 - Dados modificados…………………………………………....……........... 36 v LISTA DE FIGURAS Figura 2.1 - Fases de um processo de Mineração de Dados.............................................. 5 Figura 2.2 - Atividades e tarefas de Mineração de Dados.......................................... ...... 8 Figura 3.1 - Algoritmo Apriori.................................................................................. ...... 13 Figura 4.1 - Tela Inicial do Weka.............................................................................. ...... 15 Figura 4.2 - Pré-processamento................ ............................................................... ....... 16 Figura 4.3 - Abrir arquivo................................................................................................ 17 Figura 4.4 - Base de Dados carregada.............................................................................. 17 Figura 4.5 - Filtros............................................................................................................ 18 Figura 4.6 - Parâmetros de discretização................................................................... ...... 18 Figura 4.7 - Interface do Associate Weka ............................................................... ...... 20 Figura 4.8 - Tela para alteração de parâmetros........................................................ ....... 21 Figura 4.9 - Resultados obtidos do Associate Weka................................................ ....... 22 Figura 4.10 - Tela Inicial Tanagra............................................................................ ...... 23 Figura 4.11 - Abrir um arquivo novo....................................................................... ....... 23 Figura 4.12 - Diretório............................................................................................. ....... 24 Figura 4.13 - Define Status...................................................................................... ....... 24 Figura 4.14 - Define Atributos.................................................................................. ...... 25 Figura 4.15 - a) Botão Adicionar b) Campos transferidos....................................... ....... 25 Figura 4.16 - Executa Definir Status........................................................................ ...... 26 Figura 4.17 - Visualizar os atributos......................................................................... ...... 26 Figura 4.18 - View Dataset…………….……………………...……......….....…..... ...... 27 Figura 4.19 - Define Status 2…………..…………………………….......….….…. ...... 27 Figura 4.20 - 2) Parâmetros 3) definir parâmetros 4) executar 5)Visualizar................... 28 Figura 4.21 - Resultados obtidos............................................................................... ...... 29 Figura 5.1 - Valores de referência.................................................................................... 33 Figura 5.2 - Diferença entre artéria normal e artéria bloqueada................................ ...... 33 Figura 5.3 - Tela de pré-processamento................................................................... ....... 43 Figura 5.4 - Interface do Tanagra............................................................................ ....... 44 vi LISTA DE ABREVIATURAS E SIGLAS DCBD - Descoberta de Conhecimento em Bases de Dados HDL - Colesterol de alta densidade IPAMB - Instituto de Previdência e Assistência do Município de Belém LDL - Colesterol de baixa densidade MD - Mineração de Dados KDD - Knowledge Discovery in Databases KNN - K-Nearest Neighbor URL - Uniforme Resource Locate VLDL - Colesterol de muito baixa densidade WEKA - Waikato Environment for Knowledge Analysis vii RESUMO A Mineração de Dados tem sido muito utilizada por diversas empresas e instituições de pesquisa para obter conhecimento útil de suas bases de dados, que possa ser de extrema importância na tomada de decisões estratégicas em cada área de atuação. Para viabilizar este mecanismo, são necessárias ferramentas capazes de realizar tal procedimento. Com o propósito de suprir esta demanda, várias ferramentas foram desenvolvidas, outras estão em processo de desenvolvimento ou em fase de estudo. A partir dessas informações, resolvemos analisar duas ferramentas de Mineração de Dados, o Weka e o Tanagra, utilizando uma mesma base de dados, com os mesmos parâmetros, realizando a comparação da interface, da facilidade de uso, da apresentação dos resultados e dos resultados obtidos. O Weka apresentou melhor interface e maior facilidade de uso em relação ao Tanagra, na análise dos autores. Os resultados obtidos com as duas ferramentas foram considerados equivalentes. Palavras-chaves: Descoberta de Conhecimento em Bases de Dados, Mineração de Dados, Weka, Tanagra, Laboratório de Análises Clínicas. viii ABSTRACT Data Mining has been widely used by various companies and research institutions to gain useful knowledge from their databases, which may be of extreme importance in making strategic decision in each area of activity. To facilitate this mechanism, capable tools are necessary that make such a procedure. In order to meet this demand, several tools were developed, some still in the process of development or in study phase. From this information, we analyze two Data Mining tools, the Weka and Tanagra, using the same database, with the same parameters, performing a comparison of the interface, ease of use, the presentation of results and the obtained results. The Weka presented better interface and ease of use in relation to Tanagra, in the authors’ analysis. The results obtained with the two tools were considered equivalent. Word-keys: Knowledge Discovery in Databases, Data Mining, Weka, Tanagra, Laboratory of Clinics Analysis. ix 1. INTRODUÇÃO A Mineração de Dados (MD) consiste na exploração e análise de dados, por meios automáticos e semi-automáticos, em grandes quantidades de dados, com o objetivo de descobrir regras ou padrões interessantes (descoberta de conhecimento) implícitos nesses dados. Pode ser aplicada nas mais diversas áreas do conhecimento. Neste estudo, a Mineração de Dados foi utilizada não somente para fornecer uma solução para um problema em um laboratório de análises clínicas, mas também para testar a performance das ferramentas em questão. 1.1 Motivação O avanço tecnológico e a evolução da computação proporcionaram um aumento na capacidade de armazenamento e processamento de dados, assim como o desenvolvimento de inúmeros softwares capazes de extrair padrões interessantes dessas bases de dados. Com os avanços das pesquisas para se construir ferramentas cada vez mais habilitadas para a obtenção de conhecimento útil, torna-se possível fazer a comparação das mesmas, utilizando-se uma mesma base de dados. 1.2 Objetivos 1.2.1 Geral O objetivo geral é conhecer, estudar e comparar duas ferramentas de MD, mostrando suas funcionalidades e diferenças, vantagens e desvantagens. 1.2.2 Específico Os objetivos específicos são: comparar a interface, a facilidade de uso, a apresentação dos resultados e os resultados obtidos, utilizando para isso a tarefa de regras associativas em uma mesma base de dados: a base de dados do Instituto de Previdência e Assistência do Município de Belém (IPAMB), a qual contém dados de pacientes que são considerados de risco, de acordo com as alterações de testes bioquímicos que podem levar a um possível infarto. 10 1.3 Descrição O trabalho está dividido em seis capítulos: Neste capítulo, é apresentada uma introdução ao tema a ser abordado, a motivação, os objetivos do texto e uma breve descrição da disposição dos capítulos. O segundo capítulo é composto por uma fundamentação teórica sobre Descoberta de Conhecimento e Mineração de Dados. O terceiro capítulo trata da tarefa de Mineração de Dados utilizada nesta pesquisa, que é a tarefa de Regras Associativas realizada com o algoritmo Apriori. No quarto capítulo são apresentadas as ferramentas Weka e Tanagra, utilizadas durante o processo de MD, onde são abordadas suas características, forma de uso, etc. O quinto capítulo traz o estudo de caso realizado com os dados coletados no Laboratório de Análises Clínicas do IPAMB, com o propósito de comparar as ferramentas. No sexto capítulo são apresentadas as considerações finais da pesquisa. 11 2. DESCOBERTA DE CONHECIMENTO EM BASE DE DADOS OU MINERAÇÃO DE DADOS Frente à grande demanda de informações geradas e armazenadas em diversos repositórios distribuídos e distintos, a Descoberta de Conhecimento em Bases de Dados DCBD (Knowledge Discovery in Databases – KDD), surge como uma solução para o bom aproveitamento de tanta informação, a qual precisa ser utilizada e propagada. Alguns autores consideram os termos DCBD e MD referentes a processos distintos, já que o segundo termo faz parte de um processo maior (DCBD). Porém a expressão Mineração de Dados é mais popular e muitas vezes utilizada como sinônimo de DCDB. 2.1 Conceito de DCBD O termo DCBD, formalizado em 1989, se refere ao amplo conceito de procurar conhecimento a partir de bases de dados. O principal objetivo de um processo de Descoberta de Conhecimento de Base de Dados foi resumido em um conceito proposto em 1996, que é aceito por diversos pesquisadores, em que a extração de conhecimento de base de dados é o processo utilizado para identificar padrões válidos, novos, potencialmente úteis e compreensíveis embutidos nos dados (Fayyad et al.,1996). Para melhor esclarecimento, será dada a definição de cada item citado acima: • Dados: Conjunto de fatos ou casos em um repositório de dados. Como exemplo, os dados correspondem aos valores dos campos de um resultado de um exame laboratorial. • Padrões: Por intermédio de um subconjunto dos dados, denota-se alguma abstração em alguma linguagem descritiva de conceitos. • Processo: Refere-se às diversas etapas para a extração de conhecimento de bases de dados, como a preparação dos dados, busca por padrões e avaliação do conhecimento. 12 • Válidos: Os padrões descobertos devem satisfazer funções ou limiares que garantam que os exemplos cobertos e os casos relacionados ao padrão encontrado sejam aceitáveis, ou seja, devem possuir algum grau de certeza. • Novos: Novas informações sobre os dados utilizados devem ser fornecidas pelo padrão encontrado. O padrão encontrado deve ser novo ou inédito e isto é determinado pelo grau de novidade, que pode ser medido por meio de comparações entre as mudanças ocorridas nos dados ou no conhecimento anterior. • Úteis: Os padrões descobertos no processo de extração de conhecimento devem ser incorporados para serem utilizados em ações de processos de tomada de decisões estratégicas. • Compreensíveis: Encontrar padrões compreensíveis significa encontrá-los em alguma linguagem que pode ser compreendida pelos usuários permitindo, desta forma, uma análise mais profunda dos dados. • Conhecimento: O conhecimento depende da área de estudo em questão e está relacionado fortemente com medidas de utilidade, originalidade e compreensão. 2.2 Definição de Mineração de Dados No presente estudo, a definição adotada está conforme Mount (2001), a qual define Mineração de Dados como uma técnica, cujo objetivo é proporcionar ao usuário final suporte à tomada de decisão, uma vez que se tem uma grande base de dados, mas impossível, ao analista humano, tomar por si só, uma decisão. Esse é um processo interativo entre homem e máquinas, no qual um precisa do outro, ou seja, após a mineração precisa-se de um especialista do domínio para fazer análise dos dados válidos, estabelecendo uma interdependência. 13 2.3 Etapas do Processo de Mineração de Dados ou DCBD A partir deste tópico, o termo DCBD será substituído por Mineração de Dados, uma vez que é o mais utilizado entre os autores e pesquisadores do ramo, como já citado acima. Não existe uma convenção que determine a quantidade exata de etapas do processo de mineração de dados. Os primeiros estudos, como o de Fayyad et al. (1996), descrevem o processo formado por nove etapas, outros descrevem cinco etapas (Mount, 2001) e outros em quatro fases (Weiss, 1998). As fases de Mineração de Dados que serão abordadas a seguir, terão como base Rezende (2003), que define o processo dividido em três grandes etapas – préprocessamento, extração de padrões e pós-processamento (Figura 2.1). São incluídas nessa divisão uma fase anterior ao processo, que se refere ao conhecimento do domínio e identificação do problema e uma fase posterior, que se refere à utilização do conhecimento obtido. Utilização do Conhecimento COCOCCOCONHECI Conhecimento Pós-Processamento Extração de Padrões Escolha da Tarefa Escolha do Algoritmo Extração de Padrões Pré-Processamento Seleção Extração e Integração Transformação Banco de Dados ? Seleção e Redução de dados Identificação do problema Figura 2.1 Fases de um processo de Mineração de Dados 14 2.3.1 Identificação do Problema Antes de iniciar as tarefas do processo de descoberta, é de fundamental importância adquirir conhecimento a respeito do domínio. Por este motivo, o especialista do domínio é um ponto chave para o processo de extração de conhecimento e no apoio aos analistas em seu objetivo de encontrar padrões. Conhecer o domínio é crucial para fornecer subsídios para todas as etapas do processo de extração e aos analistas, pois entendê-lo é um pré-requisito para extrair algo útil. Nesta fase é interessante analisar as principais metas do processo; os critérios de desempenho importantes; o conhecimento extraído, se é compreensível a seres humanos ou não; a relação entre a simplicidade e a precisão do conhecimento extraído. 2.3.2 Pré-processamento Nesta fase, aplicam-se métodos para tratamento, limpeza e redução do volume de dados, antes de iniciar a etapa de extração de padrões, já que os dados disponíveis para análise nem sempre estão em um formato adequado e podem apresentar problemas em razão de limitações de memória ou tempo de processamento dos computadores, muitas vezes não sendo possível a aplicação direta dos algoritmos de mineração de dados. A realização dessas modificações deverá ser feita com base nos objetivos do processo de extração. Essas alterações que podem ser efetuadas na etapa de préprocessamento são: extração e integração, transformação, limpeza, seleção e redução de dados. É válido ressaltar que nem todas essas modificações são necessárias. 2.3.2.1 Extração e Integração Na extração e integração, os dados disponíveis irão passar por um processo de unificação, já que os mesmos podem estar dispostos em diferentes fontes, como: arquivos-texto, arquivos no formato de planilhas, banco de dados ou Data Warehouses, sendo então essencial que esses dados sejam transformados para uma única fonte de dados no formato atributo-valor que será utilizada como entrada para os algoritmos de extração de padrões. 15 2.3.2.2 Transformação Após a fase de extração e integração dos dados, algumas transformações comuns podem ser aplicadas aos dados, a fim de que se tornem adequados para serem utilizados nos algoritmos de extração de padrões, e dentre elas tem-se: resumo, transformação de tipo e normalização de atributos contínuos, tornando assim os dados no formato apropriado para o processo de mineração. 2.3.2.3 Limpeza Os dados utilizados para a extração de padrões podem apresentar problemas oriundos do processo de coleta, que podem ser erros de digitação ou erro na leitura dos dados coletados. Nesta fase, é feita uma análise de integridade e consistência dos dados, removendo-se entradas espúrias e erros, preenchendo-se valores ausentes e solucionandose inconsistências entre as bases, de forma a gerar uma base única. A técnica de limpeza garante a qualidade dos dados, fator extremamente importante, já que o resultado do processo de extração, provavelmente, será utilizado em um processo de tomada de decisão. 2.3.2.4 Seleção e Redução de Dados A seleção e a redução de dados vêm solucionar o problema da inviabilidade da utilização de algoritmos de extração de padrões, devido o número de exemplos e atributos disponíveis ser inviáveis para análise, em virtude das restrições de espaço em memória ou tempo de processamento. Para isso, é necessária a aplicação de alguns métodos tais como redução do número de exemplos, do número de atributos ou do número de valores de um atributo, para diminuir a quantidade de dados antes de iniciar a busca pelos padrões. 2.3.3 Extração de Padrões Esta etapa tem como finalidade o cumprimento dos objetivos definidos na identificação do problema, compreendendo a escolha da tarefa de Mineração de Dados a ser empregada, a escolha do algoritmo a ser utilizado e a extração dos padrões propriamente dita. Por ser um processo iterativo, pode ser necessário que seja executada diversas vezes para ajustar o conjunto de parâmetros, tendo em vista a obtenção de 16 resultados mais adequados aos objetivos preestabelecidos. É nesta etapa que se submetem as bases de dados aos algoritmos de mineração escolhidos para extração dos padrões embutidos nos dados. 2.3.3.1 Escolha da Tarefa Segundo Rezende (2003), a escolha da tarefa depende dos objetivos desejáveis para a solução a ser encontrada e essas tarefas podem ser agrupadas em Atividades Preditivas e Descritivas. A Figura 2.2, abaixo mostra em como se divide estas atividades. Figura 2.2 Atividades e tarefas de Mineração de Dados - Atividades Preditivas “...consistem na generalização de exemplos ou experiências passadas com respostas conhecidas em uma linguagem capaz de reconhecer a classe de um novo exemplo. Os dois principais tipos de tarefas para predição são classificação e regressão. A classificação consiste na predição de um valor categórico como, por exemplo, predizer se o cliente é bom ou mau pagador. Já na regressão, o atributo a ser predito consiste em um valor contínuo como, por exemplo, predizer o lucro ou perda em um empréstimo.” (Rezende, 2003). - Atividades Descritivas 17 Consistem na identificação de comportamentos intrínsecos do conjunto de dados, que não possuem uma classe especificada. Algumas das tarefas de descrição são clustering, regras associativas e sumarização. Após a escolha da tarefa, será realizada a definição do algoritmo de extração e a posterior configuração de seus parâmetros. 2.3.3.2 Escolha do Algoritmo Segundo Rezende (2003): “A escolha do algoritmo é realizada de forma subordinada à linguagem de representação dos padrões a serem encontrados”. Essa escolha está diretamente relacionada às tarefas de MD, citadas acima, que serão utilizadas para a extração de padrões. Um ponto importante é a complexidade da solução encontrada pelo algoritmo de extração, diretamente relacionada à capacidade de representação do conceito embutido nos dados. Se o modelo resultante tiver uma precisão boa para o conjunto de treinamento, porém um desempenho ruim para novos exemplos, isso significa que os parâmetros do algoritmo estão ajustados para encontrar soluções mais complexas que o conceito efetivamente existente nos dados. Conclui-se então que o modelo é especifico para o conjunto de treinamento, ocorrendo overfitting1 (Rezende, 2003). Em contra partida ocorrerá underfitting2, se a solução que está sendo buscada não for suficiente para adequar o conceito representado nos dados, podendo não ser, portanto, o modelo induzido representativo. Nesse caso, é provável que o modelo encontrado não tenha bom desempenho, tanto nos exemplos disponíveis para o treinamento, como para novos exemplos. Devido a estes fatos, a configuração dos parâmetros do algoritmo deve ser feita de forma criteriosa (Rezende, 2003). 2.3.4 Pós-processamento Segundo Rezende (2003) na maioria das vezes, o conhecimento extraído é utilizado na resolução de problemas da vida real, tanto por meio de um sistema 1 Overfiting (Mount, 2001): ocorre quando o erro (ou outra medida de desempenho) em um conjunto de treinamento evidencia um desempenho ruim de hipótese. 2 Underfiting (Mount, 2001): quando é possível induzir hipóteses que apresentem uma melhora muito pequena de desempenho no conjunto de treinamento, assim como em um conjunto de teste. 18 inteligente como por um ser humano, auxiliando algum processo de tomada de decisão. É necessário, portanto, verificar se os dados extraídos por um sistema computacional representam o conhecimento do especialista, visto que o mesmo pode diferir dos dados extraídos e em que parte o conhecimento do especialista está correto. Levando-se em consideração que os algoritmos podem gerar grandes quantidades de padrões, pode acontecer deles não serem importantes, em sua maioria, para o usuário final. Como não é viável e nem produtivo fornecer ao usuário final uma grande quantidade de padrões, torna-se de extrema importância desenvolver algumas técnicas de apoio no sentido de fornecer a eles apenas os padrões mais interessantes, já que, normalmente, procuram apenas uma pequena lista de padrões que sejam relevantes. Existem medidas para avaliação de conhecimento que têm por finalidade auxiliar o usuário no entendimento e na utilização do conhecimento adquirido, podendo ser divididas em dois tipos: medidas de qualidade e medidas de desempenho. Para o processo de extração de conhecimento, a compreensibilidade é um aspecto de máxima importância, relacionada à facilidade de interpretação dessas regras por um ser humano, uma vez que um dos principais objetivos desse processo são a compreensão e utilização do conhecimento descoberto. Uma maneira de avaliar a qualidade, na tentativa de estimar-se o quanto de conhecimento interessante existe, é a interessabilidade e deve realizar a combinação de fatores que venham refletir como o especialista julga o padrão. As medidas de interessabilidade baseiam-se em vários aspectos, principalmente, na utilidade que as regras representam para o usuário final, divididas em objetivas e subjetivas. As medidas objetivas estão relacionadas apenas com a estrutura dos padrões e do conjunto de dados de teste, sem levar em consideração as especificidades do usuário nem do conhecimento do domínio, para avaliar o padrão. Enquanto que as medidas subjetivas são fundamentais quando os usuários finais manifestam diferentes graus de interesse para um determinado padrão, pois estas medidas determinam que fatores específicos do conhecimento do domínio e de interesse dos usuários devem ser tratados ao selecionar um conjunto de regras interessantes aos usuários. 19 2.3.5 Utilização do conhecimento Após a análise do conhecimento, na etapa de Pós-Processamento, este conhecimento pode ser utilizado em um sistema inteligente ou como apoio em processos de tomada de decisão. Caso este não venha suprir as necessidades do usuário final, não cumprindo, portanto com os objetivos propostos, é necessário que o processo de extração seja repetido, ajustando-se assim os parâmetros ou melhorando o processo de escolha dos dados para obter resultados que realmente venham ser úteis numa próxima iteração. 20 3. REGRAS ASSOCIATIVAS As Regras Associativas são utilizadas para representar um padrão de relacionamento entre itens de dados do domínio da aplicação, que ocorrem com uma determinada freqüência na base de dados. Por exemplo, em um banco de dado que comporta milhares de itens, como aqueles existentes em grandes lojas de varejo, desejase descobrir associações importantes entre os itens comercializados, tal que a presença de alguns deles em uma transação (compra e venda) implique na presença de outros na mesma transação. O objetivo da tarefa de regras associativas é encontrar todas as regras que ofereçam informações relevantes, entre os itens W (antecedentes) e Z (conseqüentes) e que estes itens sejam significativos e freqüentes, ou seja, devem estar dispostos em quantidade no conjunto de dados com suporte acima de determinado valor e que caracterizem bem a associação, tendo bom grau de confiança. Assim conclui-se que as regras geradas devem atender a um suporte e confiança mínimos (Agrawal, 1993). A freqüência com que ocorrem os padrões por toda base para conjuntos de itens é chamada de suporte, ou seja, o número de transações que contêm esse conjunto de itens. Enquanto que a medida da força da regra é chamada de confiança, que é a precisão da regra. O suporte mínimo (minsup) é a fração das transações que satisfaz a união dos itens de Z com os de W, de forma que existam z % das transações no banco de dados. A confiança mínima (minconf) garante que ao menos w % das transações que satisfaçam W das regras também satisfaçam Z das regras. 3.1 Algoritmo Apriori O algoritmo Apriori proposto por Agrawal (1994) tem o objetivo de fazer a mineração de regras associativas em grandes e complexas bases de dados, sendo um dos algoritmos mais conhecidos quando o assunto é extrair relacionamentos importantes de tais bases de dados. É a partir dele que surgem todos os outros algoritmos de associação. A vantagem de se utilizar o Apriori está na simplicidade original em que foi desenvolvido e a versatilidade em minerar bases de dados robustas. 21 Antes de dar início ao processo de mineração, é necessário realizar a alteração de alguns parâmetros referentes ao algoritmo e essa parametrização é realizada pela atribuição dos percentuais de suporte mínimo e confiança mínima desejados. O algoritmo percorre várias vezes a base de dados a fim de selecionar todos os conjuntos de itens freqüentes, denominados itemsets freqüentes (Lk), sendo que, para cada passo é gerado, primeiramente, um conjunto de itens candidatos (Ck) e então determina se os candidatos satisfazem o suporte mínimo estabelecido por parâmetro. Após este procedimento, ocorre a podagem do conjunto de itens candidatos e a contagem do suporte, então os itens que poderão passar para a próxima passagem serão aqueles com suporte acima do estabelecido. A primeira passagem corresponde a k=1 e sendo k=2, k só será incrementado enquanto o conjunto obtido na passagem anterior não for vazio e consequentemente os itens retornados pela função Apriori-gen serão recebidos pelo conjunto candidato. O Apriori faz uso de duas funções: a função Apriori_gen, para gerar os candidatos e eliminar aqueles que não são freqüentes, e a função Genrules, utilizada para extrair as regras associativas. O funcionamento do algoritmo Apriori, utilizando a função Apriori_gen está resumidamente ilustrado na Figura 3.1. Figura 3.1 Algoritmo Apriori 22 O algoritmo Apriori gera inicialmente L1 que é o conjunto de grupos com somente um elemento. Na seqüência, em um laço com k passos, serão desenvolvidas duas tarefas basicamente: a primeira utiliza a função Apriori-gen para a geração do grupo de itens candidatos Ck, através dos itens gerados no passo anterior (conjunto de Lk-1). A segunda tarefa executada no laço k é a função Subset, que consisti num outro laço para contagem do suporte dos itens (c) do grupo candidato Ck, onde cada transação da base de dados é analisada. Neste momento, o Apriori utiliza uma função, estruturada na forma de uma hash-tree, onde cada nodo folha contém uma lista de itens ou o endereçamento para uma tabela hash, assim é possível encontrar todos os candidatos contidos na transação t de forma ágil. Cada candidato c terá ao final o seu suporte computado, e no próximo passo k, os itens que não obtiveram o suporte mínimo estabelecido são excluídos. A Função Apriori-gen apresenta duas finalidades descritas a seguir: A primeira consiste em formar a união dos conjuntos freqüentes, e então gerar o conjunto candidato Ck, assim os itens do conjunto candidato formado estarão ordenados lexicograficamente, eliminando aqueles que possuírem itens iguais. A segunda finalidade da função Apriori-gen é fazer a podagem do conjunto de itens candidatos, usando o princípio de que cada subconjunto de um conjunto de itens freqüente também deve ser freqüente. Esta regra é utilizada para reduzir o número de candidatos a serem comparados com cada transação na base de dados. Todos os candidatos gerados que contenham algum subconjunto que não seja freqüente são podados pela Apriori-gen. 23 4. FERRAMENTAS As ferramentas escolhidas para realizar a tarefa de mineração de dados foram o WEKA (Witten & Frank, 2005) e o TANAGRA (Rakotomalala, 2005). 4.1 WEKA O WEKA (Waikato Environment for Knowledge Analysis) é um ambiente gráfico que utiliza uma coleção de algoritmos de aprendizado de máquina e as tarefas de mineração de dados: classificação, agrupamento e regras associativas e apresenta uma interface gráfica bastante amigável para o usuário. Foi desenvolvido e implementado em Java, pelo Departamento de Ciência da Computação da Universidade de Waikato, na Nova Zelândia, constituindo-se como um software com código aberto (opensource). Devido à portabilidade da linguagem Java, o Weka pode ser executado em diversas plataformas. Por ser também uma linguagem orientada a objetos, Java proporcionou ao software vantagens como modularidade, polimorfismo, encapsulamento, reutilização de código entre outras. A ferramenta Weka está disponível para download em http://www.cs.waikato.ac.nz/ml/weka. A versão estável mais recente é a 3.4.12. Nesse endereço, se encontram também tutoriais, listas de discussões, informações sobre os autores e o código das classes implementadas para gerar essa ferramenta. Serão apresentadas a seguir as principais funcionalidades da ferramenta que se refere ao módulo utilizado em nossa pesquisa (Explorer), conforme Figura 4.1. Figura 4.1 tela inicial do Weka 24 • • O botão Simple CLI executa os algoritmos do Weka através de linha de comando. O botão Explorer executa o modulo gráfico para utilização dos algoritmos e será detalhado mais adiante. • O botão Experimenter permite ao usuário criar, rodar, modificar e analisar experiências de uma maneira mais conveniente. • O botão KnowledgeFlow é uma ferramenta gráfica que permite o planejamento de ações, na construção de um fluxo de processos de Mineração de Dados. Com o botão Explorer, a janela do módulo Explorer é aberta, a qual fornece as opções para iniciar o processo de mineração de dados no modo gráfico (Figura 4.2). Figura 4.2 – Pré-processamento Por exemplo, para abrir um arquivo na ferramenta Weka no formato arff basta clicar no Open File e selecioná-lo, conforme a Figura 4.3 abaixo, podendo-se fazer alterações de várias formas, como discretizar atributos numéricos e também modificar valores do filtro de discretização. 25 Figura 4.3 – Abrir arquivo Após ser selecionado o arquivo, a base de dados que será trabalhada no processo de MD é carregada na ferramenta (Figura 4.4). Figura 4.4 – Base de dados carregada Na Figura 4.5 abaixo, podemos selecionar os tipos de filtros a serem utilizados na preparação de dados. 26 Figura 4.5 – Filtros Na Figura 4.6 abaixo, podemos escolher os atributos a serem utilizados no filtro de discretização. Figura 4.6 – Parâmetros de discretização 27 Cada aba do Weka será detalhada a seguir para melhor se entender a interface da ferramenta. Na aba Preprocess, encontram-se as opções para carregar a base de dados que será submetida aos algoritmos de mineração: Open file: apresenta uma caixa de diálogo que permite selecionar o arquivo especificado, dentro do disco rígido, nos formatos binary serialized instances, C45 name files, CSV (separado por vírgula) e o arquivo exclusivo do Weka, Arff. Open URL: apresenta uma caixa de diálogo que permite selecionar o arquivo especificado através de um endereço URL (Uniforme Resource Locator). Open BD: apresenta uma caixa de diálogo através da qual se pode fazer a ligação com um banco de dados, permitindo carregar os dados usando JDBC. O quadro Current Relation mostra as informações sobre o conjunto de dados: • Relation: informa nome da relação (nome da base de dados). • Instances: informa a quantidade de instâncias (linhas ou registros da base de dados). • Atributes: informa o número de atributos existente do conjunto de dados. Ao selecionar um atributo em Attributes, o quadro Selected attribute fornece as informações sobre esse atributo, como o nome do atributo (Name); seu tipo (Type), podendo ser categórico (nominal) ou numérico; o número e a porcentagem de instâncias nos dados que possuem dados ausentes para este atributo (Missing); o número de valores diferentes que os dados possuem para este atributo (Distinct); e finalmente, o número e porcentagem de instâncias que possuem valores para este atributo que não se repetem em nenhuma outra instância (Unique). As abas que disponibilizam os algoritmos de mineração de dados são as seguintes: • A aba Classify, que consiste no esquema de treinamento de aprendizado que executa os algoritmos de classificação ou regressão. 28 • A aba Cluster, com os algoritmos de agrupamento. • A aba Associate, com os algoritmos para a descoberta de regras associativas. Além dessas, a aba Select Attributes permite selecionar os atributos mais pertinentes no conjunto de dados. E a última opção, a aba Visualize, fornece visualizações de gráficos de duas dimensões dos dados. Detalhando a aba Associate, que contém o algoritmo usado neste trabalho, temos que com o botão Choose, é possível escolher um algoritmo capaz de gerar regras de associação (Figura 4.7). Figura 4.7 – Interface do Associate Weka As principais opções de parâmetros para a extração de regras associativas com o algoritmo Apriori, no Weka, são mostradas na Tabela 4.1 a seguir: 29 Tabela 4.1 Opções de Parâmetros Opção Função t <training file> especifica o treinamento do arquivo N <requered number of rules> especifica o número exigido de regras C <minimum confidence of a rule> D <delta for minimum support> especifica a confiança mínima de uma regra especifica delta para diminuição de suporte mínimo M <lower bound for minimum support> especifica pequeno salto para suporte mínimo Após escolher o algoritmo, é possível alterar os parâmetros através da janela Weka.gui.GenericObjectEditorI (Figura 4.8). Figura 4.8 – Tela para alteração de parâmetros Na Figura 4.9 é apresentado o resultado da descoberta de regras associativas utilizando o algoritmo Apriori. A leitura de uma regra associativa se dá da seguinte forma: 30 Como exemplo, a regra 3 da Figura 4.9: SE pacientes do sexo feminino apresentam ldl entre 108.6 a 131.4 (26 casos), ENTÃO apresentam situação normal (26 casos). Esta regra possui confiança de 100%. Figura 4.9 – Resultado obtido do Associate Weka 31 4.2 TANAGRA A tela inicial do Tanagra apresenta uma série de algoritmos de préprocessamento, mineração de dados e pós-processamento. Recursos como a visualização dos dados a serem minerados e outros dispositivos referentes à ferramenta são encontrados no campo chamado components. Ao clicar em cada botão de components, é possível acessar seus recursos (Figura 4.10). Figura 4.10 - Tela Inicial No menu file, a opção new permite carregar na ferramenta os dados a serem minerados, conforme a Figura 4.11. Figura 4.11 - Abrir um arquivo novo 32 Na Figura 4.12 abaixo, após clicar em new aparece uma janela que permite escolher o diretório em que estão os dados. Figura 4.12 - Diretório Na Figura 4.13, ao clicar no botão indicado pela seta a janela «Define attributes Statuses», é aberta (Figura 4.14.) e permite definir parâmetros relativos à seleção dos atributos da base de dados carregada que serão utilizados na mineração. Figura 4.13 - Define attributes Statuses 33 Figura 4.14 - Define Atributos Depois de selecionados os atributos, conforme mostra a Figura 4.15, clica-se no botão adicionar para transferir os atributos de interesse no processo. Atributos discretos ou nominais ou categóricos se caracterizam pela letra “D” e atributos numéricos ou contínuos, pela letra “C”. Por exemplo, em uma tarefa de discretização, é possível selecionar apenas os atributos contínuos. A seleção é confirmada ao clicar-se no botão OK. a) b) Figura 4.15 - a) Botão Adicionar b) Campos transferidos 34 No Tanagra, como no Weka, o algoritmo Apriori aceita somente atributos nominais (discretos) para a descoberta de regras associativas; se os atributos forem contínuos, é necessário torná-los nominais. A Figura 4.16, abaixo, mostra que após escolher os parâmetros do campo «Define Status», é possível processar esse comando (1). 1 Figura 4.16 – Executa Definir Status A opção view (2) permite visualizar como estão dispostos os atributos (3), conforme a Figura 4.17. 2 3 Figura 4.17 – Visualizar os atributos 35 O recurso Data Visualization permite visualizar os dados da tabela arrastando-se o ícone View dataset até o «Define Status 1» (4), conforme a Figura 4.18. 4 Figura 4.18 - View Dataset A Figura abaixo (4.19) mostra a utilização de um outro estado «Define Status 2», em que serão repetidos os passos já citados nas Figuras 4.17 e 4.18. 1 Figura 4.19 - Define Status 2 36 Após a realização dos passos anteriores, no campo components é escolhida a tarefa de mineração de regras associativas, por exemplo, arrastando-se o ícone do algoritmo escolhido, que neste exemplo foi o Apriori, até o «Define Status 2» (1). A Figura 4.20 mostra que um clique com o botão direito do mouse sobre o ícone do algoritmo escolhido abre um menu com as opções parameters, execute e view (2); ao selecionar a opção parameters, é possível informar em uma janela os parâmetros desejados, com a finalidade de dar início à mineração (3). Logo após, com a opção execute (4), os dados são minerados e com a opção view (5) os resultados são visualizados. 3 2 4 5 Figura 4.20 - 2) Parâmetros 3) definir parâmetros 4) executar 5) Visualizar A Figura 4.21, a seguir, mostra a disposição dos resultados que estão divididos em três partes: na primeira, os parâmetros escolhidos; na segunda, os valores dos resultados obtidos e na terceira, as regras obtidas. 37 Figura 4.21 - Resultados obtidos 38 5. ESTUDO DE CASO A realização deste estudo de caso teve como principal objetivo abordar o funcionamento das ferramentas de mineração Weka e Tanagra, citadas no capítulo 4, tendo como base a situação dos pacientes do Laboratório de Análises Clínicas do Instituto de Previdência e Assistência do Município de Belém (IPAMB) com o intuito de avaliar a qualidade dos padrões minerados. 5.1 Compreensão do domínio da aplicação 5.1.1 Cenário O trabalho foi realizado com uma pequena amostra dos dados laboratoriais do Laboratório de Análises Clínicas do IPAMB. Um especialista do domínio do setor da bioquímica, onde são realizados os exames e lançados no sistema, prestou auxílio na avaliação das ferramentas e na interpretação dos padrões encontrados, devido a sua experiência nesse domínio. 5.1.2 Dados gerais da empresa A Instituição presta serviços de previdência e assistência a todos os servidores do município de Belém e seus dependentes, sem fins lucrativos, disponibilizando assistência médica, odontológica e laboratorial, com postos de coleta em Mosqueiro e Icoaraci. A instituição também mantém convênio com vários hospitais e clínicas da rede privada. 5.1.3 Definições dos testes bioquímicos utilizados 5.1.3.1 Colesterol Total e Frações O colesterol é um tipo de gordura produzida pelo fígado e pelo intestino e enviada para o sangue, que se encarrega de transportá-la para todo o organismo. Existem três espécies de colesterol (também chamados lipoproteínas) na corrente sanguínea: o colesterol de alta densidade (HDL), o colesterol de baixa densidade (LDL) e o colesterol de muito baixa densidade (VLDL). O HDL é chamado de "bom colesterol", porque ele impede que o colesterol se acumule nas artérias, funciona como um “detergente”. O LDL 39 é o "mau colesterol", pois em altos níveis pode aumentar seu risco de um ataque cardíaco ou derrame porque o LDL se deposita nas paredes das artérias, o que leva à formação de placas de gordura que impedem o fluxo sanguíneo. De acordo com Farell (1995) o LDL a nível sérico é um dos principais indicadores de risco cardiovascular. Hoje, os especialistas costumam dizer que o aumento de seu risco não se deve aos índices de seu colesterol total, e sim à alta proporção de colesterol "ruim" em relação ao "bom" colesterol. O colesterol é fundamental para a vida. Ele é utilizado na construção e reparo de células, na produção de hormônios sexuais como o estrógeno e a testosterona, e é convertido em ácidos biliares para auxiliar na digestão de alimentos, sendo encontrado em grande quantidade no cérebro e no tecido nervoso. O fígado produz quantidades suficientes de colesterol para realizar estas funções. A preocupação em relação ao colesterol ocorre quando a ingestão através de alimentos como a carne, particularmente de vísceras como o fígado e o rim, ovos, laticínios e outras fontes animais excede os níveis recomendados. O colesterol não está presente em alimentos vegetais como frutas, verduras e óleos vegetais. O colesterol não pode ser transportado livremente na corrente sangüínea. Na verdade, ele é transportado associado a proteínas especiais chamadas lipoproteínas. O HDL é o colesterol "bom", pois altas concentrações no sangue estão associadas com um baixo risco de ataque cardíaco. O HDL contém mais proteínas que triglicerídeos ou colesterol, ajudando a remover o colesterol das células do organismo para o fígado, para ser reutilizado, convertido em ácidos biliares ou descartado na bile. O LDL é o "mau" colesterol, estando associado com maior risco de doenças cardíacas. O LDL é oxidado e depositado na parede das artérias, dando início ao processo chamado "aterosclerose" (endurecimento das artérias). Este fenômeno é responsável por 500.000 ataques cardíacos por ano. Segundo Roppa (2005) o excesso do colesterol LDL pode dar início à formação de placa nas paredes internas das coronárias. Com o passar do tempo essa excrescência endurecida e cheia de sedimentos, estreita a artéria e permite a formação de um coágulo, capaz de bloquear gravemente o fluxo sanguíneo. 40 Além da dislipidemia (nome técnico para o colesterol elevado) temos outros fatores que podem agravar ainda mais a situação do indivíduo como a hereditariedade, a pressão alta (hipertensão arterial), o tabagismo, obesidade, uso de medicamentos que elevam a pressão arterial e a associação com outras doenças como o diabetes mellitus, a insuficiência renal crônica, etc. 5.1.3.2 Triglicerídeos A principal maneira de armazenar os lipídeos no tecido adiposo é sob a forma de triglicérides. São também os tipos de lipídeos mais abundantes na alimentação. Podem ser definidos como compostos formados pela união de três ácidos graxos com glicerol. Os triglicerídeos sólidos em temperatura ambiente são conhecidos como gorduras, enquanto os líquidos são os óleos. As gorduras geralmente possuem uma alta proporção de ácidos graxos saturados de cadeia longa, já os óleos normalmente contêm mais ácidos graxos insaturados de cadeia curta. A inatividade, o excesso de peso e uma dieta rica em carboidratos refinados (álcool, doces, massas, pão branco) podem fazer disparar a taxa de triglicérides do sangue. Pesquisadores identificaram nos altos níveis de triglicerídeos de pessoas com problemas cardíacos mais um forte indicador de derrames cerebrais, mesmo quando o nível de colesterol desses pacientes é baixo. Segundo Moriguchi (2008), os triglicerídeos são um dos componentes gordurosos do sangue e sua elevação está relacionada, também, com doenças cardiovasculares (angina, infarto), cerebrovasculares (derrame) e doenças digestivas (pancreatite). 5.1.3.3 Valores de Referência Como não é viável para o homem enxergar através do corpo como está a situação de suas artérias, é de máxima importância que sejam realizados exames para a dosagem bioquímica, a fim de se ter o conhecimento da quantidade dessas substâncias no organismo, já que na maioria dos casos não apresentam sintomas quando alterados. 41 Tais substâncias apresentam os seguintes valores de referência, Figura 5.1: Colesterol Total (mg/dL) Ótimo Limítrofe Elevado < 200 200 a 239 ≥ 240 Colesterol HDL (mg/dL) Ótimo Limítrofe Indesejável > 45 35 a 45 < 35 Colesterol LDL (mg/dL) Ótimo Sub-Ótimo Limítrofe Elevado Muito Elevado < 100 100 a 129 130 a 159 106 a 189 > 189 Triglicerídeos (mg/dL) Ótimo Limítrofe Elevado < 150 150 a 199 > 200 Figura 5.1 – Valores de Referência O valor do VLDL depende do triglicerídeos e o seu valor referencial é de 0 a 30. Sendo utilizado como unidade o mg/dL. Observa-se na Figura 5.2 abaixo, a diferença da estrutura das artérias quando se encontram normais e quando estão obstruídas ou entupidas por placas de gorduras provocadas pela alteração dessas substâncias e como foi dito anteriormente não provocam sintomas na maioria dos casos, caracterizando-se como uma enfermidade silenciosa e perigosa, podendo ser descoberta através da realização de exames de rotina. Figura 5.2 – Diferença entre artéria normal e artéria bloqueada 42 5.2 Escolha das ferramentas e tarefas utilizadas As ferramentas escolhidas para fazer a mineração foram o Weka e o Tanagra. A tarefa que melhor se enquadrou para resolver o problema foi a tarefa de regras associativas. A mineração de dados teve a participação do especialista do domínio, que deu auxílio no decorrer de todo o processo. 5.3 Descrição do processo de mineração de dados aplicado ao problema 5.3.1 Identificação do Problema Em um laboratório de análises clínicas a rotina diária é muito grande, então fazendo um breve estudo dos dados, notou-se que a maioria dos pacientes continha uma série de testes bioquímicos solicitados pelos médicos. Desses, para este trabalho foram selecionados somente os dados dos pacientes que tinham a solicitação médica para os respectivos testes: Colesterol total, Triglicerídeos, HDL, VLDL e LDL, os quais estão diretamente ligados às doenças cardíacas e ao derrame cerebral, pois os resultados dos quatro primeiros testes citados acima irão influenciar o resultado do LDL, o qual é obtido por um cálculo realizado por profissional do setor de bioquímica (Bioquímico, Biomédico ou Técnico em Biodiagnóstico). Juntamente com esses dados, foram coletados também as idades, o sexo e o valor de cada paciente (ótimo, sub-ótimo, limítrofe, elevado e muito elevado) de cada paciente. Para realizar a análise dos resultados, a proposta foi de verificar quais pacientes dentro desta pequena amostra estão incluídos no grupo de risco, ou seja, indivíduos que possuem grandes probabilidades de ter um infarto do miocárdio devido aos valores do colesterol LDL (colesterol ruim) estarem muito elevados. 5.3.2 Pré-Processamento Os dados foram coletados do próprio equipamento que realiza os testes, o LABMAX 240, em que foram selecionados apenas os atributos referentes ao colesterol total e suas frações, juntamente com o nome dos pacientes que foram identificados com p e o número da linha que segue. A situação corresponde à referência de cada valor do LDL (ótimo, sub-ótimo, limítrofe, elevado e muito elevado). 43 A Tabela 5.1 mostra os dados utilizados para este trabalho. Tabela 5.1 – Dados coletados Pacientes Idade Sexo RESULTADOS_BIOQUIMICOS Colesterol Total Triglicerideos HDL VLDL LDL Situação P1 20 f 199 123 45 25 129 Sub-otimo P2 32 f 190 145 41 29 120 Sub-otimo P3 61 m 218 144 51 29 138 Limítrofe P4 59 f 115 78 36 16 63 Ótimo P5 30 f 239 245 39 49 151 Limítrofe P6 65 m 163 67 52 13 98 Ótimo P7 41 f 226 228 37 46 143 Limítrofe P8 68 m 256 112 53 22 181 Elevado P9 71 f 202 179 55 36 111 Sub-otimo P10 51 m 157 93 54 19 84 Ótimo ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5.3.3 Extração e Integração Para este estudo, foi coletada uma pequena amostra de dados de quatro dias de trabalho, escolhendo 260 pacientes que continham o resultado do LDL, para dar início ao processo de extração de padrões. Os dados coletados foram integrados em um arquivo Arff para o Weka e txt separados por tabulação para o Tanagra. 5.3.4 Transformação Para os pacientes que apresentam valores de referencia ótimo e sub-ótimo foram substituídos por grupo_normal, já os que apresentavam valores elevado e muito elevado foram alterados para grupo_de_risco, enquanto os pacientes com LDL limítrofe e que estavam no grupo normal, foram transformados em grupo intermediário, já que este resultado não é elevado, porém não é o resultado ideal, Tabela 5.2 a seguir exibe os resultados obtidos. 44 Tabela 5.2 – Dados modificados RESULTADOS_BIOQUIMICOS Pacientes Idade Sexo Colesterol Total Triglicerídeos p1 20 f 199 123 HDL VLDL p2 32 f 190 145 41 29 120 grupo_normal p3 61 m 218 144 51 29 138 grupo_intermediário p4 59 f 115 78 36 16 63 grupo_normal p5 30 f 239 245 39 49 151 grupo_intermediário p6 65 m 163 67 52 13 98 grupo_normal p7 41 f 226 228 37 46 143 grupo_intermediário p8 68 m 256 112 53 22 181 grupo_de_risco 45 25 LDL Situação 129 grupo_normal p9 71 f 202 179 55 36 111 grupo_normal p10 51 m 157 93 54 19 84 grupo_normal ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5.3.5 Extração de Padrões A mineração sobre os dados em questão foi realizada com o objetivo de extrair padrões relevantes com as ferramentas Weka e Tanagra. 5.3.6 Escolha da Tarefa Como mencionado em capítulos anteriores, a tarefa escolhida para este estudo de caso foi a tarefa de Regras Associativas, com o objetivo de descobrir associações da situação dos pacientes de acordo com a idade e sexo, utilizando para isso o valor do LDL. 5.3.7 Escolha do Algoritmo O algoritmo escolhido como citado anteriormente é o Apriori. Já que o objetivo é comparar duas ferramentas, decidimos utilizá-lo por estar presente em ambas e por ser o algoritmo mais difundido em regras associativas. 5.3.8 Parâmetros Utilizados Os parâmetros escolhidos para a extração de regras associativas foram os seguintes: suporte mínimo de 5% e confiança mínima de 70%. Os dados foram discretizados em quatro (4) intervalos. Esses intervalos foram gerados através dos recursos disponíveis em cada ferramenta: no Weka, através da aba iris45 weka.filters.unsupervised.attribute.Discretize-B3-M-1.0-Rfirst-last, com a alteração do bins, já no Tanagra com o Feature contruction, que disponibiliza vários algoritmos para tal tarefa, foi escolhido o algoritmo EqWidth, em que o parâmetro principal é o número de intervalos. Esse algoritmo tem o objetivo de transformar o atributo contínuo em atributo discreto ordenado, onde o tamanho de cada intervalo é o mesmo, assim como no Weka. Os parâmetros citados acima foram utilizados tanto para a ferramenta Weka, quanto para a ferramenta Tanagra. 5.3.9 Resultados 5.3.9.1 Regras Associativas Obtidas Ao todo, foram extraídas 29 regras associativas para o Weka e 29 regras associativas para o Tanagra, em que serão analisadas as regras cujos pacientes fazem parte do grupo de risco, do grupo normal e do grupo intermediário. Porém, utilizamos apenas 26 regras de cada ferramenta, devido as 3 restantes não apresentarem informações relevantes. Por meio dessa análise, será feita a comparação dos resultados das ferramentas utilizadas. Os intervalos de discretização para os atributos idade e LDL ficaram desta forma: Idade: Intervalo 1: inferior a 31,5 Intervalo 2: superior a 31,5 – igual a 54 Intervalo 3: superior a 54 – igual a 76,5 Intervalo 4: superior a 76,5. LDL: Intervalo 1: inferior a 114,75 Intervalo 2: superior a 114,75 – igual a 173,5 Intervalo 3: superior a 173,5 – igual a 232,25 Intervalo 4: superior a 232,25. Os valores da idade acima de 76,5 e do LDL acima de 232,25 não apareceram nas regras devido a pouca freqüência desses valores. 5.3.9.2 Regras geradas para pacientes pertencentes ao grupo de risco O primeiro modelo gerado (Modelo 1) apresenta as regras associativas encontradas que envolvem pacientes que apresentam LDL elevado ou muito elevado sobre o relacionamento dos atributos ldl e situaçao. 46 5.3.9.2.1 Para o Weka 1. sexo=f ldl='(173.5-232.25]' 37 ==> situacao=grupo_de_risco 37 conf:(1) 2. idade='(31.5-54]' ldl='(173.5-232.25]' 25 ==> situacao=grupo_de_risco 25 3. sexo=m ldl='(173.5-232.25]' 22 ==> situacao=grupo_de_risco 22 conf:(1) conf:(1) 4. idade='(54-76.5]' ldl='(173.5-232.25]' 18 ==> situacao=grupo_de_risco 18 conf:(1) 5. idade='(31.5-54]' sexo=f ldl='(173.5-232.25]' 16 ==> situacao=grupo_de_risco 16 conf:(1) 6. idade='(-inf-31.5]' ldl='(173.5-232.25]' 15 ==> situacao=grupo_de_risco 15 conf:(1) 7. idade='(54-76.5]' situacao=grupo_de_risco 24 ==> ldl='(173.5-232.25]' 18 conf:(0.75) Leitura da regra, exemplo: regra 5. “Pacientes com idade entre 31,5 e 54 anos do sexo feminino que apresentam ldl entre 173,5 e 232,25 (16 casos) estão incluídos nos pacientes que pertencem ao grupo de risco de ter um infarto (16 casos). Essa hipótese apresenta confiança de 100%.” 5.3.9.2.2 Para o Tanagra 8. Situação=grupo_de_risco – d_eqw_idade_1=54_=<_m_<_76,5 ==> d_eqw_ldl_1=173,5_=<_m_<_232,25 lift(3,390), support(0,077), conf(0,769) 9. d_eqw_idade_1=31,5_=<_m_<_54 - d_eqw_ldl_1=173,5_=<_m_<_232,25 ==> Situação=grupo_de_risco lift(2,796), support(0,088), conf(1). 10. d_eqw_idade_1=m_<_31,5 - d_eqw_ldl_1=173,5_=<_m_<_232,25 ==> Situação=grupo_de_risco lift(2,796), support(0,058), conf(1). 11. Sexo=f - d_eqw_ldl_1=173,5_=<_m_<_232,25 ==> Situação=grupo_de_risco lift(2,796), support(0,142), conf(1). 12. Sexo=m - d_eqw_ldl_1=173,5_=<_m_<_232,25 ==> Situação=grupo_de_risco lift(2,796), support(0,085), conf(1). 13. d_eqw_ldl_1=173,5_=<_m_<_232,25 - d_eqw_idade_1=54_=<_m_<_76,5 ==> Situação=grupo_de_risco lift(2,796), support(0,077), conf(1). 14. Sexo=f - d_eqw_idade_1=31,5_=<_m_<_54 - d_eqw_ldl_1=173,5_=<_m_<_232,25 ==> Situação=grupo_de_risco lift(2,796), support(0,062), conf(1). Leitura da regra, exemplo: regra 8. “Pacientes que pertencem ao grupo de risco, com idade entre 54 e 76,5 anos apresentam ldl entre 173,5 e 232,25. Essa hipótese foi dada em mais ao menos 8% dos casos, com uma confiança de 77% e o antecedente está correlacionado com o conseqüente da regra positivamente em 3,39%.” 47 5.3.9.3 Regras geradas para pacientes que não pertencem ao grupo de risco 5.3.9.3.1 Para o Weka 15. sexo=m ldl='(-inf-114.75]' 44 ==> situacao=grupo_normal 44 conf:(1) 16. idade='(-inf-31.5]' ldl='(-inf-114.75]' 39 ==> situacao=grupo_normal 39 17. sexo=f ldl='(-inf-114.75]' 34 ==> situacao=grupo_normal 34 conf:(1) conf:(1) 18. idade='(31.5-54]' ldl='(-inf-114.75]' 29 ==> situacao=grupo_normal 29 conf:(1) 19. idade='(-inf-31.5]' sexo=m ldl='(-inf-114.75]' 24 ==> situacao=grupo_normal 24 conf:(1) 20. idade='(31.5-54]' sexo=m ldl='(-inf-114.75]' 16 ==> 21. idade='(-inf-31.5]' sexo=f ldl='(-inf-114.75]' 15 ==> situacao=grupo_normal 15 conf:(1) 22. idade='(31.5-54]' sexo=f ldl='(-inf-114.75]' 13 ==> situacao=grupo_normal 13 conf:(1) 23. idade='(-inf-31.5]' sexo=m situacao=grupo_normal 29 ==> ldl='(-inf-114.75]' 24 24. idade='(31.5-54]' sexo=f situacao=grupo_normal 17 ==> ldl='(-inf-114.75]' 13 25. sexo=m situacao=grupo_normal 58 ==> ldl='(-inf-114.75]' 44 conf:(0.83) conf:(0.76) conf:(0.76) 26. idade='(-inf-31.5]' ldl='(114.75-173.5]' situacao=grupo_normal 20 ==> sexo=f 15 27. idade='(31.5-54]' situacao=grupo_normal 39 ==> ldl='(-inf-114.75]' 29 conf:(0.75) conf:(0.74) 28. idade='(31.5-54]' sexo=m situacao=grupo_normal 22 ==> ldl='(-inf-114.75]' 16 conf:(0.73) Leitura da regra, exemplo: a regra 23. “Pacientes com idade inferior a 31,5 anos do sexo masculino, que não pertencem ao grupo de risco (29 casos) apresentam ldl inferior a 114,75 (24 casos). Essa hipótese apresenta confiança de 83%.” 5.3.9.3.2 Para o Tanagra 29. sexo=m - Situação=grupo_normal - d_eqw_idade_1=m_<_31,5 ==> d_eqw_ldl_1=m_<_114,75 lift(2,759), support(0,092), conf(828). 30. sexo=f - Situação=grupo_normal - d_eqw_idade_1=31,5_=<_m_<_54 ==> d_eqw_ldl_1=m_<_114,75 lift(2,549), support(0,050), conf(0,765). 31. sexo=m - Situação=grupo_normal ==> d_eqw_ldl_1=m_<_114,75 lift(2,549), support(0,169), conf(0,759). 32. Situação=grupo_normal - d_eqw_idade_1=31,5_=<_m_<_54 ==> d_eqw_ldl_1=m_<_114,75 lift(2,479), support(0,112), conf(0,744). 33. sexo=m - Situação=grupo_normal - d_eqw_idade_1=31,5_=<_m_<_54 ==> d_eqw_ldl_1=m_<_114,75 lift(2,424), support(0,062), conf(0,727). 48 34. d_eqw_idade_1=m_<_31,5 - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,150), conf(1). 35. d_eqw_idade_1=31,5_=<_m_<_54 - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,112), conf(1). 36. Sexo=f - d_eqw_idade_1=31,5_=<_m_<_54 - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,050), conf(1). 37. Sexo=m - d_eqw_idade_1=31,5_=<_m_<_54 - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,062), conf(1). 38. Sexo=f - d_eqw_idade_1=m_<_31,5 - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,058), conf(1). 39. Sexo=m - d_eqw_idade_1=m_<_31,5 - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,092), conf(1). 40. Sexo=m - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,169), conf(1). 41. Sexo=f - d_eqw_ldl_1=m_<_114,75 ==> Situação=grupo_normal lift(2,261), support(0,131), conf(1). 42. d_eqw_ldl_1=114,75_=<_m_<_173,5 – situação=grupo_normal – d_eqw_idade_1=m_<_31,5 ==> Sexo=f lift(1,413), support(0,058), conf(0,750). Leitura da regra, exemplo: regra 38. “Pacientes do sexo feminino, com idade inferior a 31,5 anos com ldl inferior a 114,75 não se enquadram no grupo de pacientes de risco. Essa hipótese foi dada em mais ao menos 6% dos casos, com uma confiança de 100% e o antecedente está correlacionado com o conseqüente da regra positivamente em pouco mais de 2,2%.” 5.3.9.4 Regras geradas para pacientes que pertencem ao grupo intermediário 5.3.9.4.1 Para o Weka 43. sexo=m situacao=grupo_intermediario 30 ==> ldl='(114.75-173.5]' 30 conf:(1) 44. idade='(31.5-54]' situacao=grupo_intermediario 19 ==> ldl='(114.75-173.5]' 19 conf:(1) 45. idade='(-inf-31.5]' situacao=grupo_intermediario 17 ==> ldl='(114.75-173.5]' 17 conf:(1) 46. sexo=f situacao=grupo_intermediario 22 ==> ldl='(114.75-173.5]' 21 conf:(0.95) 47. idade='(54-76.5]' situacao=grupo_intermediario 15 ==> ldl='(114.75-173.5]' 14 conf:(0.93) Leitura da regra, exemplo: regra 44. 49 “Pacientes com idade entre 31,5 e 54 anos, que fazem parte do grupo intermediário (19 ocorrências), apresentam ldl entre 114,75 e 173,5 (19 casos). Essa hipótese apresenta confiança de 100%.” 5.3.9.4.2 Para o Tanagra 48. Sexo=m – situação=grupo_intermediario ==> d_eqw_ldl=114,75_=<_m_<_173,5 lift(2,185), support(0,115), conf(1). 49. d_eqw_idade_1=31,5_=<_m_<_54 - situação=grupo_intermediario ==> d_eqw_ldl=114,75_=<_m_<_173,5 lift(2,185), support(0,073), conf(1). 50. d_eqw_idade_1=m_<_31,5 - situação=grupo_intermediario ==> d_eqw_ldl=114,75_=<_m_<_173,5 lift(2,185), support(0,065), conf(1). 51. Sexo=f – situação=grupo_intermediario ==> d_eqw_ldl=114,75_=<_m_<_173,5 lift(2,143), support(0,081), conf(0,955). 52. d_eqw_idade_1=54_=<_m_<_76,5 - situação=grupo_intermediario ==> d_eqw_ldl=114,75_=<_m_<_173,5 lift(2,039), support(0,054), conf(0,933). Leitura da regra, exemplo: regra 51. “Pacientes do sexo feminino, que fazem parte do grupo intermediário apresentam ldl entre 114,75 e 173,5. Essa hipótese foi dada em mais ao menos 8% dos casos, com uma confiança de 95% e o antecedente está correlacionado com o conseqüente da regra positivamente em pouco mais de 2,1%.” 5.4 Avaliação do Resultado Tanto para a ferramenta Weka quanto para o Tanagra, o número de mulheres na situação de risco devido ao elevado nível do LDL, na faixa de 173,5 a 232,25, no sangue, é maior que nos homens com ênfase na faixa etária de 31,5 a 54 anos, as regras geradas para esta conclusão são: 1, 3 e 5 (Weka) e 11, 12 e 14 (Tanagra). E a faixa etária onde o problema é mais evidente, segundo as regras 2 (Weka) e 9 (Tanagra), é a faixa entre 31,5 a 54 anos, independente do sexo. Dos pacientes que fazem parte do grupo normal, prevalecem os do sexo masculino com idade inferior a 31,5 anos. As regras que evidenciam esta hipótese são as regras 15 e 19 (Weka) e 39 e 40 (Tanagra). Para os pacientes que se enquadram no grupo intermediário, prevalece os do sexo masculino que apresentam o valor do LDL entre 114,75 a 173,75. As regras em que essa 50 informação foi extraída são: 43 (Weka) e 48 (Tanagra). Com isso, levanta-se a hipótese que, dos dias em que os dados foram coletados, os pacientes do sexo feminino com idade entre 31,5 a 54 anos, com LDL elevado ou muito elevado apresentam grandes riscos de ter um infarto do miocárdio. Os resultados da mineração de dados foram levados à especialista do conhecimento, farmacêutica bioquímica, Bernadete Oliveira, que concluiu que as informações extraídas não forneceram algo novo, mas vieram confirmar as recentes pesquisas por acerca deste assunto, já que a mulher, além dos processos hormonais e genéticos, apresenta também os reflexos sofridos após a entrada no mercado de trabalho devido às jornadas duplas, triplas que na maioria das vezes precisa enfrentar. Segundo a especialista a prevenção da doença ao invés de seu tratamento é inegavelmente de suma importância, não só para a qualidade de vida, mas porque reduz os gastos dos sistemas de saúde com o tratamento de patologias que podem ser evitadas através de medidas preventivas adequadas. As medidas preventivas em saúde, para serem adotadas devem estar baseadas em levantamentos de estudos, dados epidemiológicos, etc. As ferramentas utilizadas identificaram os grupos com maiores ou menores riscos de hipercolesterolemia. O que vem demonstrar que as mesmas podem ser de suma utilidade na identificação dos mais variados grupos e dos potenciais riscos a que estão expostos. Em conseqüência disso, podem ser utilizadas em estudos de levantamentos futuros colaborando nas tomadas de decisões das medidas preventivas que podem ser adotadas. 5.5 Comparação das Ferramentas Para a comparação das ferramentas, serão considerados itens como interface, facilidade de uso, apresentação de resultados e resultados obtidos. 5.5.1 Interface 5.5.1.1 Weka Em relação à interface, o Weka apresenta maior vantagem, pois interage melhor com o usuário devido à facilidade de uso e entendimento que ela proporciona, já que na 51 tela de pré-processamento observam-se as inúmeras informações que a ferramenta fornece. A seguir é feita uma breve descrição das informações que a tela de préprocessamento contém, de acordo com a Figura 5.3: 3 1 2 5 4 Figura 5.3 – Tela de pré-processamento 1 - Informa os atributos envolvidos, onde através do botão Remove é possível remover aqueles que estão marcados e que não interessam para a extração de padrões. 2 - Informa o nome do atributo selecionado em 1, os valores desse atributo e a quantidade de registros para cada valor; informa ainda o tipo, se há valores ausentes, quantos valores distintos e finalmente, o número e porcentagem de instâncias que possuem valores para este atributo que não se repetem em nenhuma outra instância (unique). 3 – O botão Choose possibilita alterar os filtros para a aplicação de métodos supervisionados e não supervisionados sobre os atributos e instâncias. 4 - Com o botão Visualize All é possível obter os gráficos dos dados a serem minerados. 5 – Informa a quantidade de instâncias (registros) e atributos. 52 5.5.1.2 Tanagra Já o Tanagra oferece uma interface simples, desprovida de muitas informações, como mostra a Figura 5.4 abaixo: 1 2 3 Figura 5.4 – Interface do Tanagra 1 – Informa o número de atributos envolvidos e a quantidade de registros. 2 – Informam quais são os atributos, a categoria a que pertencem e o número de dados semelhantes. 3 – Mostra as tarefas disponibilizadas pela ferramenta. 5.5.2 Facilidade de uso Em relação à utilização, a ferramenta Weka se mostrou mais fácil de se manipular do que a ferramenta Tanagra. Esta última mostrou-se um pouco mais complicada de se desenvolver uma tarefa devido à interface gráfica da ferramenta, como citado 53 anteriormente e pela pouca quantidade de documentos e tutoriais na Internet para pesquisa. 5.5.3 Apresentação dos Resultados Existem poucas diferenças na representação do conhecimento extraído pelas duas ferramentas, que foram observadas na forma e na ordem como são dispostas: o Weka mostra os resultados em ordem decrescente de confiança, já o Tanagra mostra em ordem decrescente de Lift e Suporte. 5.5.4 Resultados obtidos Através da análise dos resultados das duas ferramentas utilizando a mesma base de dados, o mesmo algoritmo, os mesmos parâmetros foram possíveis concluir que ambas as ferramentas obtiveram o mesmo resultado. 54 6. CONSIDERAÇÕES FINAIS Atualmente, devido à necessidade de se obter conhecimento relevante e útil a partir de grandes bases de dados e tendo em vista a importância de se obter vantagem competitiva em varias áreas de atuação, muitas novas tecnologias de informação têm surgido nos últimos anos e a Mineração de Dados é uma delas. Com isso, o desenvolvimento de ferramentas que utilizam algoritmos capazes de extrair informações e conhecimento se faz necessário. Nesta pesquisa foi utilizado o mesmo algoritmo, no caso o Apriori, e os mesmos parâmetros para avaliação do comportamento das ferramentas Weka e Tanagra. Com isso foi possível concluir que ambas conseguem fazer a mineração dos dados selecionados, fornecendo resultados equivalentes, apesar de algumas poucas diferenças encontradas. Através dos testes realizados foi verificado que o Weka apresenta melhor interface e facilidade de uso em relação ao Tanagra, pois interage melhor com o usuário e há uma grande quantidade de documentos e tutoriais de fácil acesso, possibilitando um estudo abrangente da ferramenta. 55 REFERÊNCIAS Agrawal, R., Imielinski, T., Swami, A. Mining association rules between sets of items in large databases. Proc. of the ACM SIGMOD Conference. Washington, DC, USA, p. 207-216, maio 1993. Disponível em: http://rakesh.agrawal- family.com/papers/sigmod93assoc.pdf. Agrawal, R., Srikant, R. Fast algorithms for mining association rules in large databases. In: Proc. of the International Conference on Very Large Data Bases, VLDB, 20., 1994, Santiago. Morgan Kaufmann. Farrell, D.J. The problems and practicalities of producing an omega (n-3 fortified egg). In: EUROPEAN SYMPOSIUM ON THE QUALITY OF EGGS AND EGG PRODUCTS, 6. 1995, Zaragoza, Spain. Proceedings... Zaragoza, Spain, 1995. Fayyad, U., Piatetsky-Shapiro, G., Smyth, P. From Data Mining to Knowledge Discovery: An Overview. In: Fayyad, U.; Piatetsky-Shapiro, G., Smyth, P., Uthurusamy, R. Advances in Knowledge Discovery and Data Mining. Menlo Park: MIT Press, 1996. 611 p. p. 1-34. Moriguchi, E. ABC da Saúde. Disponível em: http://www.abcdasaude.com.br/ artigo .php?673. Acesso em: 22/03/2008. Mount, D. Bioinformatics: Sequence and Genome Analysis (Genome Analysis). New York: CSHL PRESS, 2001. Rakotomalala, R. TANAGRA: a free software for research and academic purposes, in Proceedings of EGC'2005, RNTI-E-3, vol. 2, pp.697-702, 2005, Lyon – France. Disponível em: http://eric.univ-lyon2.fr/~ricco/tanagra/en/tanagra.html. Rezende, S. Sistemas Inteligentes: Fundamentos e Aplicações. 1ª Edição. Barueri – SP: Manole, 2003. Roppa, L. Atualização sobre os níveis de Colesterol, Gordura e Calorias da Carne Suína. EMBRAPA, 2005. Weiss, S. M. & N. Indurkhya. Predictive Data Mining: A Practical Guide. Morgan Kaufmann Publishers. Inc., San Francisco, CA (1998). 56 Witten, H., Frank, E. Data Mining: Practical machine learning tools and techniques, 2nd Edition, Morgan Kaufmann, San Francisco, 2005. 57