análise dos algoritmos de mineração j48 e apriori aplicados na

Propaganda
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
Download