ANÁLISE DOS ALGORITMOS DE MINERAÇÃO J48 E APRIORI APLICADOS NA DETECÇÃO DE INDICADORES DA QUALIDADE DE VIDA E SAÚDE LIBRELOTTO, Solange Rubert1; MOZZAQUATRO, Patricia Mariotto2 Resumo O crescente avanço e evolução da tecnologia da informação possibilitou que grandes volumes de dados pudessem ser armazenados e processados mais rapidamente, com maior precisão. A Mineração de Dados (MD) pode ser vista como uma técnica para auxiliar nos processos de extração e busca das informações, permitindo um tratamento individualizado dos dados, tornando possível o conhecimento de características e preferências dos usuários. Frente a isso, surgem técnicas e ferramentas de Mineração de Dados, que estão sendo, cada vez mais, empregadas em organizações e pesquisadas em ambiente acadêmico, pois oferecem, de forma rápida, uma alternativa para a geração de informações e produção do conhecimento. Este artigo apresentou um estudo sobre as técnicas de Mineração de Dados (MD), como associação e classificação aplicadas na identificação e classificação de indicadores de saúde, a fim de gerar um perfil de usuário. O objetivo foi implementar os algoritmos J48 e Apriori, comparando e medindo sua eficiência na classificação de informações em banco de dados. Com a pesquisa desenvolvida constatou-se que a técnica de classificação apresentou melhor desempenho na identificação e geração de perfis de usuários similares em uma base de dados. Palavras-chave: Mineração de Dados, Apriori, J48 Abstract The increasing advancement and evolution of information technology has enabled the storage and processing of large volumes of data, with greater accuracy. Data Mining (DM) can be seen as a technique to assist in the extraction processes and search of information, allowing an individualized treatment of the data, making it possible the knowledge of characteristics and preferences of users. Taking it into account, new techniques and tools for data mining arise and are being increasingly employed in organizations and are becoming the focus of research in the academic environment, since they offer a quick alternative for the generation of information and knowledge production. This paper presented a study on Data Mining (DM) techniques, like association and classification, applied in the identification and classification of health indicators, aiming to generate a user profile. The main goal was to implement algorithms J48 and Apriori, comparing and measuring their efficiency in the classification of information in a database. The research pointed out to the conclusion that the classification technique showed better performance in the identification and generation of similar users profiles in a database. 1 2 Graduação em Andamento em Ciência da Computação pela Universidade de Cruz Alta (Unicruz). Mestre em Ciência da Computação pela Universidade Federal de Santa Maria. Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 26 Key Words: Data Mining. Apriori. J48. Introdução O crescente avanço e evolução da tecnologia da informação possibilitou que grandes volumes de dados pudessem ser armazenados e processados mais rapidamente, com uma maior precisão (SANTOS, 2002). Atualmente, a questão está focada na competência de análise desses dados, de forma a extrair informações úteis, como descrito por (TARGA, 2002). Neste contexto, cada vez mais se fazem necessárias novas formas de entender a quantidade (volume) de dados. Frente a isso, surgem técnicas e ferramentas de mineração de dados, que estão sendo cada vez mais empregadas em organizações e pesquisadas em ambiente acadêmico (MOZZAQUATRO, 2006), pois oferecem, de forma rápida, uma alternativa para a geração de informações e produção do conhecimento. Este artigo é parte integrante do Trabalho de Conclusão de Curso onde foram estudadas as técnicas de associação e classificação a serem aplicadas na identificação e classificação de indicadores de saúde a fim de gerar um perfil de usuário. A técnica de associação visa classificar um padrão de itens em uma base de dados de uma aplicação que ocorre com uma certa frequência (TARGA, 2002). Um dos algoritmos mais referenciados para realizar a tarefa de associação é o Apriori, utilizado no trabalho proposto. Ele avalia e retorna associações relevantes entre os itens, segundo critérios de suporte e confiança (ROMÃO, 2002). A técnica de classificação é uma das tarefas mais estudadas pela comunidade científica de Knowledge Discovery in Database (KDD). O princípio da tarefa de classificação é descobrir algum relacionamento entre os atributos preditivos e o atributo meta, de modo a descobrir um padrão que possa ser utilizado para previsões. Dessa forma, esta pesquisa tem o objetivo de implementar os algoritmos J48 e Apriori integrantes das duas técnicas de mineração de dados, classificação e regras de associação aplicadas na identificação e classificação de indicadores de saúde, gerando, assim, perfis de usuários. Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 27 Descoberta de Conhecimento em Base de Dados A mineração de dados é uma etapa do KDD que auxilia as empresas na análise das informações contidas em suas bases de dados. As informações descobertas serão utilizadas para ajudar na tomada de decisão, otimizando os processos e retornando de forma eficiente a informação para que se possa definir a estratégia mais adequada ao mercado e clientes. O KDD é uma técnica que possibilita analisar grandes conjuntos de dados, utilizando métodos aproximados (COLLAZO; BARRETO, 2003). O autor CARVALHO (1999) mostra a abrangência do KDD ao afirmar que é interdisciplinar e envolve diversas áreas, entre elas estatística e matemática, banco de dados, sistemas especialistas e reconhecimento de padrões. O processo KDD combina técnicas, métodos e algoritmos de todas as áreas com o objetivo principal de extrair conhecimento, a partir de grandes bases de dados (CARVALHO, 1999). As Etapas da Descoberta de Conhecimento (KDD) na seleção de dados, é definido o domínio sobre o qual se pretende executar o processo de descoberta; o próximo passo é selecionar e coletar o conjunto de dados ou variáveis necessárias para representar o domínio. Na etapa de seleção de dados pode ser necessário integrar e compatibilizar as bases de dados. Na etapa do pré-processamento e limpeza acontece a atividade de limpeza de dados, da etapa de pré-processamento, as informações consideradas desnecessárias são removidas. Adotam-se estratégias para manusear dados faltantes ou inconsistentes (REFAAT, 2007). A fase de pré-processamento tem como objetivo consolidar e trabalhar com as informações relevantes, buscando reduzir a complexidade do problema. Este objetivo é alcançado fazendo uma seleção para escolher apenas atributos relevantes de um conjunto de atributos do banco de dados, onde as escolhas destes subconjuntos estarão disponíveis para serem usados no algoritmo do KDD, de acordo com a finalidade proposta. Uma motivação para esta seleção é otimizar o tempo de processamento do algoritmo, visto que ele apenas trabalhará com um subconjunto de atributos, diminuindo o seu espaço de busca e fazendo com que a velocidade dos algoritmos seja maior (BATISTA, 2003). Na etapa de transformação, após a fase de pré-processamento, em que nem todos os dados presentes em um banco de dados são informativos ou úteis em um processo de aquisição de conhecimento e nem sempre estão em um formato adequado para os algoritmos os utilizarem, torna-se necessário que esses dados sejam transformados (MACHADO, 2002). Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 28 O motivo da transformação dos dados é superar quaisquer limitações existentes nos algoritmos empregados para extração de padrões, que dependem dos algoritmos utilizados na fase de mineração de dados. Existem alguns tipos de transformações mais comuns, como: normalização, discretização (que transforma um atributo contínuo da base de dados em um atributo discreto) de atributos quantitativos, transformações de atributos qualitativos em quantidades, entre outros (WIVES, 1998). A fase da mineração de dados é considerada como a principal etapa no processo de KDD, onde é realizada a extração e a descoberta de padrões propriamente dita. A mineração de dados envolve um conjunto de técnicas e ferramentas computacionais usadas para a identificação desses padrões (conhecimentos) embutidos em grandes massas de dados. Os algoritmos são aplicados para extrair padrões dos dados, ou gerar regras que descrevam o comportamento da base de dados (BERRY, 1997). Mineração de Dados Mineração de Dados é a exploração e a análise, por meio automático ou semiautomático, de grandes quantidades de dados, a fim de descobrir padrões e regras significativas (BERRY e LINOFF, 1997). O processo de Mineração de Dados baseia-se na interação entre várias classes de usuários, e grande parte do seu sucesso depende dessa interação. Existem três classes diferentes nas quais podem ser divididos os usuários deste processo: especialista do domínio, que deve oferecer apoio para a execução do processo e possuir grande conhecimento do domínio da aplicação; analista, que deve conhecer profundamente todas as etapas que fazem parte do processo e é o usuário especialista no processo de extração de conhecimento; e o usuário final, que utiliza o conhecimento obtido no processo para a tomada de decisão (REZENDE, 2005). Os principais objetivos da mineração de dados são: descobrir relacionamentos entre dados e fornecer subsídios para que possa ser feita uma previsão de tendências futuras, baseada no passado. A Mineração de Dados é utilizada nas mais diversas áreas, desde a descoberta de pesos de atributos em um sistema de raciocínio baseado em casos, conforme (SILVEIRA, 2003). Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 29 Técnica de Classificação Conforme os autores WEISS e INDURKHYA (1998) explicam que classificação é o processo de encontrar um conjunto de modelos que descrevem e distinguem classes, com o propósito de utilizar o modelo final (refinado) para predizer a classe de objetos que ainda não foram classificados. O modelo construído baseia-se na análise prévia de um conjunto de dados de amostragem ou dados de treinamento, contendo objetos corretamente classificados. A classificação consiste na predição de um valor categórico, como, por exemplo, predizer a cobertura ou não de uma classe de defeitos. Na regressão, o atributo a ser predito consiste em um valor contínuo como, por exemplo, predizer a porcentagem de cobertura para um determinado critério de teste. O algoritmo J48 surgiu da necessidade de recodificar o algoritmo C4.5, que, originalmente, é escrito na linguagem C, para a linguagem Java (WITTEN, et al., 2005). Ele tem a finalidade de gerar uma árvore de decisão baseada em um conjunto de dados de treinamento, sendo este modelo usado para classificar as instâncias no conjunto de teste. Um dos aspectos para a grande utilização do algoritmo J48 pelos especialistas em Data Mining é que o mesmo se mostra adequado para os procedimentos, envolvendo as variáveis (dados) qualitativas contínuas e discretas presentes nas bases de dados. O algoritmo J48, proposto por QUINLAN (1993), é considerado o que apresenta o melhor resultado na montagem de árvores de decisão, a partir de um conjunto de dados de treinamento. Para a montagem da árvore, o algoritmo J48 utiliza a abordagem de dividir-para-conquistar, onde um problema complexo é decomposto em subproblemas mais simples, aplicando recursivamente a mesma estratégia a cada subproblema, dividindo o espaço definido pelos atributos em subespaços, associando-se a eles uma classe (WITTEN E FRANK, 2005). Regras de Associação A mineração de regras de associação pode ser vista como uma das mais importantes tarefas de mineração de dados. O desafio de encontrar regras de associação, no contexto de bases de dados, foi inicialmente exposto em (AGRAWAL et.al, 1993) e consiste na busca por padrões associativos que indiquem o relacionamento entre conjuntos de itens. O algoritmo Apriori foi proposto por (AGRAWAL, IMIELINKSYI & SWAMI, 1993), e é o algoritmo mais utilizado para descobrir regras de associação. Para isto, o Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 30 algoritmo Apriori executa múltiplas passagens sobre o banco de dados de transações, e é capaz de trabalhar com um número grande de atributos, obtendo como resultado, várias alternativas combinatórias entre eles, a partir da realização de buscas sucessivas em toda a base de dados e, apesar disso, os autores apontam o ótimo desempenho em termos de processamento desse algoritmo. O motivo da realização das buscas sucessivas na base de dados dá-se pelo fato de o algoritmo utilizar um método com o mesmo raciocínio da técnica dividir-para-conquistar, com o objetivo de encontrar regras de associação para todas as expressões possíveis, executando um procedimento de indução de regras para todas as combinações possíveis de atributos. As regras de associação obtidas através da indução são do tipo X_antecedente _ Y_consequente, sendo consideradas apenas as que forem classificadas como relevante pelo algoritmo (MADUELL, 2007). Metodologia O trabalho desenvolvido reúne características qualitativa e quantitativa em sua trajetória metodológica, (MINAYO, 2010). As etapas da pesquisa são as que seguem: Levantamento Bibliográfico (Estudo sobre as técnicas de Mineração de Dados Classificação e Associação; Análise e estudo sobre o funcionamento dos algoritmos J48 e Apriori; Pesquisa e análise sobre linguagens de programação com suporte a implementação dos algoritmos citados, como também estudo sobre a ferramenta Weka; Projeto lógico da implementação necessária para o desenvolvimento do ambiente experimental) e Desenvolvimento prático (Obter informações sobre os requisitos de hardware e software para a extração e validação dos dados nos testes com os algoritmos; Criação da base de dados utilizando MYSQL; Implementação dos algoritmos de classificação e associação: J48 e Apriori; Geração de perfis de usuários aplicando as técnicas de classificação e associação na identificação e classificação de indicadores de saúde; Análise dos resultados das técnicas já citadas e desenvolvimento de um estudo comparativo, apresentando aquele algoritmo que demonstrou melhor desempenho na identificação e classificação de indicadores de saúde, gerando perfis de usuários. Conforme ilustra a Figura 1 (Diagrama de Casos de Uso) no primeiro momento o usuário irá acessar o sistema. Após será realizado o cálculo do IMC (Índice de Massa Corporal), para isso deverá ser informado o peso e a altura. Para geração do perfil com o Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 31 resultado já obtido do IMC deverão ser apresentados a pressão arterial sistólica, pressão arterial diastólica e circunferência da cintura. O perfil poderá ser normal, pequeno risco, médio risco e grande risco. Figura 1 – Caso de Uso geral O processo de classificação dos dados acontece da seguinte forma: O sistema apresenta na primeira etapa a base de dados, local onde ficam armazenadas todas as informações dos usuários. Após ocorreu a etapa da seleção dos dados (pré-processamento). Com os dados já processados (transformação) aconteceu a implementação da técnica de classificação. Nesta etapa foi implementado o algoritmo J48. Após testou-se a segunda técnica, associação implementando o algoritmo Apriori. Finalizando o processo aplicou-se o a ferramenta weka para a visualização dos perfis de usuários. Os recursos utilizados no trabalho proposto foram de hardware utilizando notebook Dell Inspiron 2.50 GHz. E os recursos de software foi o software weka, o banco de dados MySQL e a linguagem de programação PHP. Conforme ilustra a Figura 2, no primeiro momento para geração do perfil geral o usuário terá que acessar o link IMC, fornecer os dados para assim dar continuidade ao processo de geração do seu perfil. Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 32 Figura 2- Perfil Geral e parâmetro Ainda na figura 2 (parâmetro) é ilustrado o perfil de um usuário grande risco, ou seja foi calculado seu IMC e perfil geral. Um perfil grande risco envolveu uma pontuação de 20.8. Este perfil é avaliado pelos indicadores: o somatório IMC, Pressão Arterial Sistólica, Pressão Arterial Diastólica e Circunferência da Cintura apresentam um parâmetro de 16 pontos. Resultados Para a visualização dos resultados foi utilizada a ferramenta weka, integrada ao sistema. Após a implementação do sistema, a base de dados foi integrada ao software Weka a fim de obter a visualização em forma gráfica. Em um primeiro momento avaliou-se o algoritmo J48, por meio da aplicação da regra de use training set . Foi selecionado um conjunto de treinamento e dividido em duas partes: cerca de sessenta (60) por cento dos dados utilizados para criar o modelo Após, para testar a exatidão do algoritmo foi aplicada a regra supplied test set com os dados restantes de cerca de 40 por cento, colocando-os em um conjunto de testes. Conforme ilustra a Figura 3 o algoritmo de classificação apresentou como “ Correctly Classified Instances” (instancias classificadas corretamente) (85,6115%) e às “ Incorrectly Classified Instances” (14,3885%). Apresentou um erro médio de 0,0911 em um número total de instancias (139). Baseando-se na taxa de correteza de 85,61%, pode-se constatar que através de uma análise inicial ,esse é um modelo muito bom. Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 33 139 140 120 100 85,6115 80 60 40 14,3885 20 0,2411 0,0911 0 Instancias corretas Instancias incorretas Erro médio Raiz do erro médio Total Figura 3 – Avaliação do algoritmo J48 Após, avaliou-se o algoritmo Apriori. A Figura 4 apresenta os maiores graus de confiança gerados após a aplicação do algoritmo Apriori. Em um total de 139 instâncias classificadas gerou-se as 10 melhores regras, assim sendo 6 das regras demonstraram grau de confiança 100%, 2 regras grau de confiança 98%, 1 regra com grau de confiança 97%, 2 regras grau de confiança 96%. Deve-se ressaltar que foi gerada a etapa de treinamento e a etapa de teste a fim de comprovar a veracidade do algoritmo. Grau de confiança gerado com a aplicação do algoritmo Apriori 160 140 120 100 80 60 40 20 0 139 83 56 Modelo Treinamento 9 10 6 0 0 2 1 0 0 0 0 2 Modelo Teste Total Figura 4- Avaliação do algoritmo Apriori Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 34 A Figura 5 ilustra o comparativo entre os algoritmos J48 e Apriori, constatou-se que algoritmo J48 apresentou o grau de correteza 91,61% enquanto o Apriori apresentou 80% de correteza. Ocorreu um diferencial de 11,61% apontando o algoritmo J48 como o mais eficaz para o objetivo proposto. Comparativo entre os Algoritmos J48 e Apriori Desempenho 100,00% 80,00% 60,00% 40,00% 91,61% 80% J48 Apriori 20,00% 8,37% 0,00% J48 Apriori 20% Grau Correteza Grau Incorreteza 91,61% 8,37% 80% 20% Figura 5– Comparativo entre o algoritmo J48 e Apriori Conclusão O artigo proposto objetivou definir a técnica de mineração de dados mais eficiente na identificação e classificação de indicadores de saúde, gerando, assim, perfis de usuários diferenciados. Foi implementado um sistema computacional que identifica perfis de usuários classificando-os conforme o indicadores de saúde. Assim, foram implementados os algoritmos J48 e Apriori. Com os testes comprovou-se que o algoritmo J48 com diferencial de 11,61% destacou-se como o mais eficaz na classificação e geração de perfil. Inicialmente a hipótese gerada seria que o algoritmo Apriori seria o melhor. Ressalta-se a contribuição científica deste artigo aplicando na prática dois algoritmos apresentando resultados validados. O resultado gerado pelo algoritmo J48 justifica-se devido ao mesmo mostrar-se adequado para os procedimentos deste artigo, envolvendo as variáveis (dados) qualitativas contínuas e discretas presentes na base de dados. Ainda o algoritmo J48 utiliza a abordagem Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 35 de dividir-para-conquistar, onde um problema complexo é decomposto em subproblemas mais simples, aplicando recursivamente a mesma estratégia a cada subproblema, dividindo o espaço definido pelos atributos em subespaços, associando-se a eles uma classe. Referências AGRAWAL, Rakesh; IMIELINSKI, T.; SWAMI, A. Mining Association Rules between Sets of Items in Large Databases. SIGMOD , Washington,USA, 1993. BATISTA, Gustavo Enrique de Almeida Prado Alves. Pré-processamento em aprendizado de máquina supervisionado. 2003. Disponível em: <http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06102003160219/publico/TeseDoutorado.pdf>. Acesso em: 21 set. 2012. BERRY, M. J. A.; LINOFF, G. Data Mining Tehniques – for marketing, sales, andcustomer support. United States: Wiley Computer Publishing, 1997. COLLAZO, K.; BARRETO, J. “KDD ferramenta para analise de dados epidemiológico”. Anais do III Congresso Brasileiro de Computação – Workshop de Informática aplicada à Saúde-CBXOMP’2003, Itajaí, p.2226, 1003. Acessado em: 01 maio, 20012 (MADUELL, 2007. MACHADO, Letícia Santos. Mineração do Uso da Web na Educação a Distância: Propostas para a Condução de um Processo a partir de um Estudo de Caso. Dissertação em Ciência da Computação. Pontifícia Universidade Católica do Rio Grande do Sul. Porto Alegre.2002. Disponível em:. <http://www. pucrs.br/uni/poa/info/pos/dissertacoes/arquivos/leticiam.pdf>. Acesso em: 10 mai. 2012. MINAYO, Maria Cecília de Souza. Pesquisa social: teoria, método e criatividade. 29. ed. Petrópolis, RJ: Vozes, 2010. MOZZAQUATRO, Patricia Mariotto. Estudo da Aquisição e Modelos de Perfil de Usuários da Biblioteca Digital Acadêmica. Trabalho de Conclusão de Curso em Sistemas de Informação. Universidade Luterana do Brasil, Cachoeira do Sul, 2006. QUINLAN, J. R.; C4.5: Programs for machine learning. Morgan Kaufmann PublishersInc., San Francisco, CA, USA, 1993. REFAAT, M.Data Preparation for Data Mining Usisg SAS. São Francisco:Elsevier, 2007. REZENDE, Solange Oliveira. Mineração de Dados. In: XXV Congresso da Sociedade Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 36 Brasileira de Computação, 2005. Anais do XXV Congresso da Sociedade Computação. São Leopoldo: SBC, 2005. Brasileira de ROMÃO, W. Descoberta de conhecimento relevante em banco de dados sobre ciência e tecnologia. Tese em Engenharia de Produção . Universidade Federal de Santa Catarina, Florianópolis, 2002. SANTOS, M.A.M. Extraindo Regras a partir de Textos. Pontifícia Universidade Católica do Paraná. 2002. SILVEIRA, Rosemari de Freitas. Mineração de Dados Aplicada à Definição de Índices em Sistemas de Raciocínio Baseado em Casos. Porto Alegre: CPGCC da UFRGS, 2003. TARGA, C. N. Mineração Eficiente de Regras de Associação através da Indexação de Conjuntos Candidatos. Dissertação de Mestrado em Ciência da Computação, Universidade Federal Fluminense, 2002. WEISS, S. M.; INDURKHYA N. Predictive Data Mining: A Practical Guide. Morgan Kaufmann, San Francisco, CA, USA, 1998. WITTEN, I. H.; FRANK, E. Data mining: practical machine learning tools and techniques. 2 ed. San Francisco: Morgan Kaufmann Publishers, 2005. WIVES, L..K. Um Estudo sobre Agrupamento de Documentos Textuais em Processamento de Informações não Estruturadas Usando Técnicas de"Clustering". Dissertação de Mestrado em Ciência da Computação, UFRGS. Porto Alegre, 1998. Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1 37