Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos Autor: Alisson Patrick Maximino Centro Universitário Barão de Mauá Curso de Bacharelado em Ciência da Computação COMPARAÇÃO DE ALGORITMOS DE APRENDIZADO DE MÁQUINA PARA CLASSIFICAÇÃO DE PADRÕES EM UMA BASE DE DADOS MÉDICOS Alisson Patrick Maximino Ribeirão Preto 2007 Alisson Patrick Maximino COMPARAÇÃO DE ALGORITMOS DE APRENDIZADO DE MÁQUINA PARA CLASSIFICAÇÃO DE PADRÕES EM UMA BASE DE DADOS MÉDICOS Orientador: Prof. Dr. Paulo Eduardo Ambrósio Ribeirão Preto 2007 Monografia apresentada ao Curso de Ciência da Computação do Centro Universitário Barão de Mauá, como parte dos requisitos para obtenção do título de Bacharel em Ciência da Computação. Dedicatória Aos meus pais, minha amada Mãe Marli, meu amado Pai Vanderlei e minha amada Avó Floripes, pessoas maravilhosas, batalhadoras, minha fonte maior de inspiração, cuidaram e doaram incondicionalmente seu sangue e suor em forma de amor e trabalho por mim, a minha grande e maravilhosa companheira Juliana, que me deram apoio e carinho nos momentos mais difíceis durante esses anos dedicados aos estudos, Agradecimentos Primeiramente à Deus, dedico o meu agradecimento maior, porque têm sido tudo em minha vida, o maior responsável por este grande sonho que se realiza. À todos professores(as), que conseguiram transmitir o seu conhecimento, contribuindo para minha sabedoria, e para meu crescimento pessoal e profissional, em especial ao professor Dr. Paulo Ambrósio, pela paciência e dedicação, e todos aqueles(as) que cruzaram em minha vida, participando de alguma forma construtiva. Aos meus grandes amigos e companheiros, Roger e Flávio, que sempre me incentivaram e proporcionaram momentos de lazer, imprescindíveis ao bom andamento desses 4 anos de estudos. Resumo A classificação de padrões, neste caso, para diversos tipos de patologias, doenças aplicadas ao pulmão, podem ser classificadas por um profissional, como um médico, onde, através de seu vasto conhecimento e estudo, é capaz de analisar e identificar uma doença especifica. A partir da área de estudo de Inteligência Artificial, e utilizando os conceitos e técnicas de aprendizado de máquina, no qual, existem diversos tipos de algoritmos de aprendizado de máquina que podem ser utilizados na classificação de padrões. Na prática, é difícil saber qual tipo de algoritmo utilizar para cada problema. Os diversos sistemas de aprendizado de máquina possuem características particulares e comuns que possibilitam sua classificação quanto à linguagem de descrição, modo, paradigma e forma de aprendizado utilizado. O objetivo principal desse trabalho é realizar um estudo sobre alguns dos principais algoritmos de aprendizado de máquina, dentre eles, algoritmos de indução, de regras de decisão, redes neurais artificiais, algoritmos baseados em métodos estatísticos, e outros, onde serão realizadas comparações de desempenho sobre resultados obtidos pelos algoritmos. Palavras-chave: Aprendizado de máquina, Algoritmos, Mineração de Dados, Base de Dados, Resultados. Abstract The pattern classification, in this case, for several kinds of pathologies, lung related diseases may be classified by a physian, where through his or her vast knowledge and study, is capable of analyzing and spotting a specific disease. Starting from the Artificial Intelligence field, and using the concepts and learning techniques of machines, in which, there are several types of learning algorithms of machines that can be used in pattern classification. In practice, it is hard to know what kind of algorithm to use for each problem. The different learning systems of machines bear particular and common characteristics, which make their classification possible as to description language, manner, paradigm and the learning method used. The main goal of the present study is to carry out a study on some of the principal learning algorithm of machine, among them, induction algorithms, decision rules, artificial neural nets, algorithms based on statistical methods, and others, where performance comparisons will be carried out over the results obtained by algorithms. Keywords: Learning Machine, Algorithms, Data Mining, Database, Results. Lista de Figuras Figura 1.1 Hierarquia do aprendizado. .....................................................................................16 Figura 2.1 Redes Neurais. ........................................................................................................19 Figura 2.2 Árvores de Decisão. ................................................................................................21 Figura 2.3 Processo KDD.........................................................................................................24 Figura 2.4 Tela inicial do WEKA.............................................................................................26 Figura 2.5 Tela do Pré-Processo...............................................................................................27 Figura 2.6 Tela de Classificação. .............................................................................................28 Figura 3.1 Parâmetros Clínicos e Parâmetros Radiológicos.....................................................32 Figura 3.2 Exemplo extraído da base de dados. .......................................................................34 Figura 3.3 Gráfico em (%) de Acerto com Cross-Validation...................................................36 Figura 3.4 Gráfico em (%) de Erro Absoluto Relativo com Cross-Validation. .......................36 Figura 3.5 Gráfico em (s) Tempo de Execução com Cross-Validation....................................37 Figura 3.6 Gráfico em (%) de Acerto com Leave-One-Out. ....................................................38 Figura 3.7 Gráfico em (%) de Erro Absoluto Relativo com Leave-One-Out...........................39 Figura 3.8 Gráfico em (s) Tempo de Execução com Leave-One-Out......................................40 Figura 3.9 Matriz confusão Redes Neurais (MLP) Cross-Validation. .....................................41 Figura 3.10 Matriz Confusão Redes Neurais (MLP) Leave-One-Out......................................41 Figura 3.11 Matriz Confusão Redes Neurais (RBF) Cross-Validation. ...................................42 Figura 3.12 Matriz Confusão Redes Neurais (RBF) Leave-One-Out. .....................................42 Figura 3.13 Matriz Confusão C4.5 Cross-Validation...............................................................43 Figura 3.14 Matriz Confusão C4.5 Leave-One-Out. ................................................................43 Figura 3.15 Matriz Confusão ZEROR Cross-Validation. ........................................................44 Figura 3.16 Matriz Confusão ZEROR Leave-One-Out............................................................44 Figura 3.17 Matriz Confusão ONER Cross-Validation. ..........................................................45 Figura 3.18 Matriz Confusão ONE Leave-One-Out. ...............................................................45 Figura 3.19 Matriz Confusão Rede Bayesiana Cross-Validation.............................................46 Figura 3.20 Matriz Confusão Rede Bayesiana Leave-One-Out. ..............................................46Lista de Tabelas Tabela 1 Estrutura do arquivo ARRF. ......................................................................................29 Tabela 2 Relação das patologias investigadas. .........................................................................30 Tabela 3 (%) de Acerto com Cross-Validation. .......................................................................35 Tabela 4 (%) de Erro Absoluto Relativo com Cross-Validation. .............................................36 Tabela 5 (s) Tempo de Execução com Cross-Validation. ........................................................37 Tabela 6 (%) de Acerto com Leave-One-Out...........................................................................38 Tabela 7 (%) de Erro Absoluto Relativo com Leave-One-Out. ...............................................39 Tabela 8 (s) Tempo de Execução com Leave-One-Out. ..........................................................39 Lista de Siglas AM: Aprendizado de Máquina IA: Inteligência Artificial KDD: Knowledge Discovery in Databases GPL: General Public Licence WEKA: Waikato Environment for Knowledge Analysis Sumário INTRODUÇÃO........................................................................................................................25 1 APRENDIZADO..............................................................................................................13 1.1 A HIERARQUIA DE APRENDIZADO..................................................................13 1.2 PARADIGMAS DE APRENDIZADO....................................................................14 1.3 TÉCNICAS DE VALIDAÇÃO................................................................................16 1.3.1 CROSS-VALIDATION ...................................................................................16 1.3.2 LEAVE-ONE-OUT..........................................................................................17 2 APRENDIZADO DE MÁQUINA ...................................................................................18 2.1 REDES NEURAIS ...................................................................................................18 2.2 ÁRVORES DE DECISÃO.......................................................................................20 2.3 C4.5 ..........................................................................................................................21 2.4 ZERO RULE (ZEROR) ...........................................................................................22 2.5 ONE RULE (ONER) ................................................................................................22 2.6 REDE BAYESIANA................................................................................................22 2.7 INTRODUÇÃO À MINERAÇÃO DE DADOS .....................................................23 2.8 WEKA ......................................................................................................................24 2.8.1 AMBIENTE EXPLORER DO WEKA ............................................................25 2.8.2 AMBIENTE EXPLORER - PRÉ-PROCESSO................................................26 2.8.3 AMBIENTE EXPLORER - CLASSIFICAÇÃO .............................................27 2.8.4 ARQUIVO ARRF ............................................................................................28 3 DESENVOLVIMENTO PRÁTICO ................................................................................30 3.1 LEVANTAMENTOS DE DADOS..........................................................................30 3.2 PARÂMETROS CLÍNICOS E RADIOLÓGICOS .................................................31 3.3 DADOS COLETADOS............................................................................................34 3.4 BASE DE DADOS PARA TREINAMENTO E TESTES.......................................34 3.5 RESULTADOS OBTIDOS POR CADA ALGORITMO........................................34 3.5.1 RESULTADOS OBTIDOS - CROSS-VALIDATION....................................35 3.5.2 RESULTADOS OBTIDOS - LEAVE-ONE-OUT ..........................................37 3.5.3 REDES NEURAIS (MLP) - CROSS-VALIDATION .....................................40 3.5.4 REDES NEURAIS (MLP) - LEAVE-ONE-OUT............................................41 3.5.5 REDES NEURAIS (RBF) - CROSS-VALIDATION......................................41 3.5.6 REDES NEURAIS (RBF) - LEAVE-ONE-OUT ............................................42 3.5.7 C4.5 - CROSS - VALIDATION ......................................................................42 3.5.8 C4.5 - LEAVE-ONE-OUT...............................................................................43 3.5.9 ZEROR - CROSS-VALIDATION...................................................................43 3.5.10 ZEROR - LEAVE-ONE-OUT .........................................................................44 3.5.11 ONER - CROSS-VALIDATION .....................................................................44 3.5.12 ONER - ONE-LEAVE-OUT............................................................................45 3.5.13 REDE BAYESIANA - CROSS-VALIDATION .............................................45 3.5.14 REDE BAYESIANA - LEAVE-ONE-OUT ....................................................46 CONCLUSÕES........................................................................................................................47 REFERÊNCIAS BIBLIOGRÁFICAS .....................................................................................48 INTRODUÇÃO Nos últimos anos a informática tem se apresentado como um fator significativo no dia- a-dia das pessoas, causando assim mudanças marcantes no modo de viver. O computador tem sido de grande influência em diversas áreas de atuação, quer no emprego, em casa, centros de pesquisas ou diversas áreas de estudos, está relacionado a constantes melhorias em qualidade e desempenho, e, através de sua rápida evolução surgem cada vez mais equipamentos cada vez menores e mais acessíveis. Através deste crescimento computacional, ocorre uma intensificação de estudos científicos sobre o assunto, como ferramenta de auxílio para todas as demais ciências. O conceito de Aprendizado de Máquina representa parte desta interação como uma forma de extração de conhecimento, ou seja, uma forma de aprendizado realizado por um computador com o objetivo de obter comportamentos computacionalmente inteligentes, por exemplo o reconhecimento de padrões. Especificamente na Medicina, os computadores podem ser utilizados como ferramenta de auxílio à tomada de decisões, como por exemplo, em sistemas de apoio ao diagnóstico, os quais têm como principal objetivo auxiliar o profissional da área no processo de tomada de decisões. Para um médico, diagnosticar certa doença, com base nos sintomas, exames, é bem mais simples, devido ao conhecimento, ou seja, o poder do ser humano relacionado à alta capacidade de aprendizagem, e recursos a serem utilizados. Agora, utilizar um sistema com base em Aprendizado de Máquina que realize com mesmo grau de eficiência no processo de diagnosticar, não é uma tarefa tão simples. O objetivo deste trabalho é a realização de estudos sobre algoritmos de aprendizado de máquina, aplicados a uma base de dados médicos, e utilizando a biblioteca de algoritmos WEKA (biblioteca gratuita de mineração de dados, que possui suporte a vários algoritmos, que será apresentada com mais detalhe no capitulo 2). Os resultados obtidos pelos algoritmos de classificação de padrões, nem sempre apresentam o mesmo grau de eficiência, ou melhor, podem-se obter resultados variados, tendo a visão de qual dos algoritmos utilizados tiveram um melhor desempenho durante a sua execução. 13 1 APRENDIZADO Os seres humanos possuem varias habilidades, destacandoa capacidade de aprender, tal assunto, ao longo dos anos tornaram-se grande alvo para a realização de pesquisas. Os homens e alguns animais possuem essa capacidade de aprendizagem muito evoluída. Eles adquirem à aprendizagem com base na experiência, aprendem ouvindo, aprendem aumentando a capacidade do conhecimento que já possuem, através de acontecimentos sucessivos. Pode-se considerar o aprendizado um processo complexo, não apenas por reunir diversas habilidades e áreas de conhecimento, mas também por reunir diferentes níveis de abstração, no qual, podemos encontrar varias definições sobre o processo de aprendizado (AMBRÓSIO, 2002). O aprendizado é descrito como “o processo através do qual um sistema melhora o seu desempenho” (SIMON, 1983 apud AMBRÓSIO, 2002). Esta melhoria no desempenho pode ocorrer devido à aplicação de novos métodos e conhecimentos, podendo também ocorrer através do aperfeiçoamento dos métodos e conhecimentos existentes, tornando-os mais rápidos e precisos. 1.1 A HIERARQUIA DE APRENDIZADO O conhecimento sobre um determinado problema ou situação pode ser interpretado de varias formas. A indução é a forma lógica, do qual, podem-se tirar conclusões incertas sobre conjuntos de exemplos em questão. A indução é caracterizada como um raciocínio obtido de forma generalizada através de um conceito específico, onde esse conceito pode ser aprendido através da utilização indutiva à partir de exemplos citados.As possíveis hipóteses adquiridas pela indução podem ou não estarem corretas (MONARD, 2002). Segundo Monard (2002), “Foi através da indução que Arquimedes descobriu a primeira lei da hidrostática e princípio da alavanca, que Kepler descobriu as leis do movimento planetário, que Darwin descobriu as leis da seleção natural das espécies.” A indução é uma das formas de se obter um novo conhecimento mais utilizado pelo cérebro humano, no qual, deve-se ter cuidado em utilizar, pois, se os exemplos a serem escolhidos não forem os mais adequados, a hipótese resultante pode não ser verdadeira. Os 14 sistemas de aprendizado podem ser classificados em duas grandes categorias (BARANAUSKAS, 2001): • Sistemas tipo caixa preta que desenvolvem sua própria representação do conceito, isto é, sua representação interna pode não ser facilmente interpretada por humanos e não fornecem nem esclarecimento, nem explicação do processo de reconhecimento. • Sistemas orientados a conhecimento que objetivam a criação de estruturas simbólicas que sejam compreensíveis por humanos. 1.2 PARADIGMAS DE APRENDIZADO O aprendizado de máquina pode ser implementado seguindo diferentes paradigmas. Uma das classificações adotadas separa os paradigmas em: Simbólico, Estatístico, Baseado em Exemplos, Conexionista e Genético (BARANAUSKAS, 2001): • Simbólico - Sistemas simbólicos de Aprendizado de Máquina podem ser classificados com base na linguagem de representação de exemplos utilizados, de forma simbólica. Estes símbolos podem ser representados de forma lógica, seja ela, utilizando árvore de decisão, regras ou rede semântica. • Estatístico - Estudiosos da área de Estatística vem desenvolvendo variados métodos de classificação, tendo uma grande semelhança com sistemas de aprendizado de máquina. Tais estudiosos têm como objetivo utilizar modelos estatísticos para encontrar soluções parecidas com a forma indutiva de conhecimento. Alguns autores consideram Redes Neurais e aprendizado Bayesiano, como métodos estatísticos semi-paramétricos. • Baseado em Exemplos - Uma forma de classificar um exemplo é lembrar-se de outro similar cuja classe é conhecida e assumir que o novo exemplo terá a mesma classe. Essa filosofia exemplifica os sistemas baseados em exemplos, que classificam exemplos nunca vistos através de exemplos similares conhecidos. 15 • Conexionista - No aprendizado conexionista baseia-se nos estudos de Redes Neurais, tal sistema similar ao modelo biológico do sistema nervoso do ser humano. Não se procura obter regras como na abordagem simbólica da Inteligência Artificial, mas determinar a intensidade de conexões entre neurônios. • Genético – De acordo com Baranauskas (2001) “Um classificador genético consiste de uma população de elementos de classificação que competem para fazer a predição”. Elementos mais fortes sobrevivem, e os mais fracos são descartados, produzindo variações de si mesmo. O paradigma genético esta relacionado diretamente com a teoria de Darwin, na qual sobrevivem os mais bem adaptados ao ambiente. Por meio dos paradigmas citados, a aprendizagem pode ser classificada em dois tipos: aprendizado supervisionado e aprendizado não supervisionado. • Aprendizado supervisionado - Definido também como aprendizagem com um ‘professor’, passando valores necessários de entrada ao sistema, como a presença de um elemento externo supervisor que fornece as informações, ou seja, é através dessa informação ocorre à supervisão, onde, o sistema poderá verificar a saída, a resposta esperada para que assim verifique o quanto errou durante o processo, para que possa “aprender” com esse erro (AMBRÓSIO, 2002). • Aprendizado não-supervisionado - Diferente da aprendizagem supervisionada, não depende do elemento (professor) para que possa realizar a supervisão para o processo de aprendizagem (AMBRÓSIO, 2002). Na Figura 1.1 é ilustrado o processo de aprendizagem, após realizar o aprendizado, sendo supervisionado ou não supervisionado, até chegar à classificação, onde, poderá se obter resultados, como objetivo principal deste trabalho. 16 Figura 1.1 Hierarquia do aprendizado. Fonte: Adaptado de MONARD, 2002. 1.3 TÉCNICAS DE VALIDAÇÃO As técnicas de validação são fundamentais para que as execuções com classificadores, ou seja, o algoritmo em questão possa ocorrer, pois, a maneira de como se validar o mesmo é referenciado a essas técnicas. Dentre as várias opções de validação disponíveis no Software WEKA, foram escolhidas duas técnicas para validar os testes realizados neste trabalho, validação por Cross-Validation e Leave-One-Out, sendo elas brevemente descritas a seguir: 1.3.1 CROSS-VALIDATION Cross-Validation em r-fold - CV. Os exemplos são aleatoriamente divididos em r partições mutuamente exclusivas (folds) de tamanho aproximadamente igual a n/r exemplos. Os exemplos nos (r-1) folds são usados para treinamento e a hipótese induzida é testada no fold diferente para teste. O erro na Cross-Validation é a média dos erros calculados em cada um dos r folds (MONARD, 2002). 17 1.3.2 LEAVE-ONE-OUT Leave-One-Out é um caso especial de Cross-Validation. É computacionalmente dispendioso e frequentemente é usado em amostras pequenas. Para uma amostra de tamanho n uma hipótese é induzida utilizando (n−1) exemplos; a hipótese é então testada no único exemplo remanescente. Este processo é repetido n vezes, cada vez induzindo uma hipótese deixando de considerar um único exemplo. O erro é a soma dos erros em cada teste dividido por n (MONARD, 2002). 18 2 APRENDIZADO DE MÁQUINA Aprendizado de Máquina - AM, pertence à área de IA, tem como objetivo principal desenvolver técnicas computacionais como relação ao aprendizado desenvolver sistemas com a missão de obter conhecimento de forma automática. Define-se sistema de aprendizado, como um programa de computador, sendo capaz de tomar decisões com base de experiências realizadas através da solução bem sucedida de problemas anteriores. Para simplificar o entendimento, aprendizado de máquina, é uma técnica utilizada para obter um novo conhecimento automático, aplicado em um computador, esse processo utiliza os algoritmos de AM,para realizar o aprendizado de forma computacional (MITCHELL, 1997). Desde a invenção dos computadores, o ser humano teve a curiosidade de saber se a invenção foi feita para aprender, e também compreender como os programar para obter um melhor aprendizado sobre o mesmo. Os algoritmos para a aprendizagem de máquina nos auxiliam a uma melhor compreensão como habilidades de aprendizagem humanas (MITCHELL, 1997). Conforme Carvalho (2001) “Os algoritmos de aprendizado de máquina são muito interessantes, pois, além de modelarem bem os dados, permitindo previsões e classificações”. Por meio dessa teoria de aprendizagem de máquina serão respondidas perguntas de como será realizado à aprendizagem e o desempenho variando dos treinamentos apresentados, e, se os algoritmos de aprendizagem são os mais apropriados para vários tipos de formas de aprendizagem, visando saber qual algoritmo teve um melhor desempenho. 2.1 REDES NEURAIS Pode-se dizer que redes neurais artificiais consistem em um modo de abordar a solução de problemas de inteligência artificial. A aprendizagem de uma rede neural artificial ocorre através de um processo iterativo de correções e ajustes associados a suas conexões, pelo qual a rede vai aprendendo aos poucos a cada iteração realizada durante o processo de treinamento (AMBRÓSIO, 2002). Neste caso, ao invés de programar um computador de modo a fazê-lo similar a um comportamento humano inteligente como, saber jogar xadrez, compreender e manter um diálogo, 19 resolver problemas matemáticos, procura-se construir um sistema computacional que possa modelar circuitos de forma semelhante aos circuitos cerebrais humanos (BARRETO, 2002). Espera-se ver um comportamento inteligente, aprendendo novas tarefas, errando, fazendo generalizações e descobertas, com características de um neurônio pertencente ao cérebro humano. O algoritmo de treinamento conhecido como backpropagation, responsável por fazer esses ajustes associados às conexões da rede, sendo a propagação “para frente” (feed forward) do sinal de entrada e propagação “para trás” (backpropagation) do erro da saída obtida em relação à saída desejada (AMBRÓSIO, 2002). Da mesma forma, estes circuitos neurais artificiais poderão se auto-organizar, quando apresentados em ambientes diversos, criando suas próprias representações internas e apresentar comportamentos imprevisíveis. Neste trabalho utilizou-se duas redes neurais, a rede RBF (Radial Basis Function) aplicada normalmente em pequenas amostras devido a utilização de funções em base radial, e a rede MLP (Multilayer Perceptron) rede neural de múltiplas camadas. Uma rede MLP possui a camada de entrada, as camadas intermediárias e a camada de saída, uma rede RBF possui apenas uma camada intermediária. Uma rede neural pode ter o treinamento supervisionado e não supervisionado (BARRETO, 2002). Um exemplo de uma rede neural MLP é ilustrado na figura 2.1. Figura 2.1 Redes Neurais. Fonte: TATIBANA e KAETSU, SD. 20 2.2 ÁRVORES DE DECISÃO Dentre os vários algoritmos utilizados em mineração de dados, destaca-se o algoritmo de árvore de decisão. Pode-se definir e representar uma árvore de decisão graficamente, ou seja, gerando uma estrutura na forma de uma árvore que ajuda na classificação e decisão a serem tomadas (JUSTINO, sd). O algoritmo de classificação por árvores de decisão é um algoritmo supervisionado, ou seja, é necessário conhecer todos os registros, as informações da base de dados utilizadas no treinamento (LÓPEZ & HERRERO, 2004). O processo de geração da árvore, realizada pelo algoritmo inicia-se com a definição de quais são os elementos, ou seja, os valores da árvore. A figura 2.2, é um exemplo de uma estrutura de uma árvore de decisão. Para um fácil entendimento, a árvore é constituída por um conjunto de nós que são conectados por ramificações, que auxiliam na compreensão dos processos de ligação entre os nós. A estrutura básica de uma árvore pode ser formada por três tipos de nós: o nó raiz, que representa o inicio da árvore, os nós comuns que dividem um determinado atributo e geram ramificações e os nós folha que contêm as informações de classificação do algoritmo (PICHILIANI, 2006).. 21 Figura 2.2 Árvores de Decisão. Fonte: Adaptado de BARANAUSKAS, 2002. 2.3 C4.5 O J48 é o algoritmo mais conhecido do WEKA. Baseado na implementação do C 4.5 release 8, desenvolvido por Ross Quinlan, que gera uma árvore de decisão baseado em um conjunto de dados de treinamento, sendo que este modelo é usado para classificar as instâncias no conjunto de teste. A versão mais recente do algoritmo, disponibilizada apenas comercialmente, é a C 5.0 (WITTEN & FRANK, 1999). Nó Raiz Nó Comum Nó Comum Nó Comum Nós Folhas Classificação Nós Folhas Classificação Nós Folhas Classificação Regra de Decisão Regra de Decisão Regra de Decisão 22 2.4 ZERO RULE (ZEROR) Este é o algoritmo de aprendizagem mais antigos do software WEKA. Consiste em modelar uma base de dados com uma única regra. Devido a essa característica, o poder de desempenho deste algoritmo é inferior aos demais. Para uma base de dados, onde ocorrerá uma nova classificação, o algoritmo ZEROR prediz o valor de maior freqüência, nos dados de treinamento. O algoritmo ZEROR pode ser aplicado em problemas com valores nominais ou valor da classe comum para problemas numéricos (WITTEN & FRANK, 1999). 2.5 ONE RULE (ONER) O algoritmo ONER é um algoritmo que produz uma regra simples, pois, é baseado em um único atributo, assim como o ZEROR, possui baixo desempenho para os demais, mas, comparando os dois algoritmos, o ONER ao ser aplicado na base de dados de treinamento, consegue obter maior sucesso se referindo à porcentagem de acertos. Este algoritmo leva um único parâmetro que é o número mínimo de exemplos (WITTEN & FRANK, 1999). 2.6 REDE BAYESIANA Redes Bayesianas é um algoritmo de aprendizado supervisionado, baseia-se no teorema de probabilidade de Bayes, também conhecido por classificador de Naïve Bayes. Tem como objetivo calcular valores de probabilidade como predizer a classe mais provável, onde se caracteriza como uma classificação estatística, pois é completamente baseada em probabilidades (PICHILIANI, 2006). A rede bayesiana é considerada simples ou ingênua, segundo (PICHILIANI, 2006) “ela considera que o efeito do valor de um atribuído sobre uma determinada classe é independente dos valores dos outros atributos, o que simplifica os cálculos envolvidos”. O raciocínio Bayesiano fornece uma aproximação probabilística de inferência. As decisões ótimas podem ser feitas analisando estas probabilidades junto aos dados utilizados. O raciocínio Bayesiano fornece a base para algoritmos de aprendizagem isso manipula diretamente probabilidades, como uma estrutura para analisar operação de outros algoritmos que não 23 manipulam explicitamente probabilidades. Os métodos Bayesianos são importantes para nosso estudo de aprendizado de máquina, no qual, fornecem uma perspectiva para compreensão de vários algoritmos de aprendizagem que não manipulam explicitamente probabilidades (MITCHELL, 1997). 2.7 INTRODUÇÃO À MINERAÇÃO DE DADOS A Mineração de Dados consiste no do processo de Extração de Conhecimento de um grande volume de dados. A Extração de Conhecimento é definida por Fayyad et al. (1996) como: “KDD (Knowledge Discovery in Databases) se refere ao processo global de descobrir conhecimento útil de dados. E mineração de dados se refere a um passo particular neste processo. A mineração de dados é a aplicação de algoritmos específicos para extrair padrões de dados”. O processo da utilização de técnicas de mineração de dados(data mining) vem sendo bastante utilizado em diversas áreas como finanças, economia, biologia, astronomia, análise de mercado, diagnósticos, entre outros, mas principalmente o seu crescimento aplicado à área de Ciência da Computação, denominada KDD. O processo de KDD combina técnicas de aprendizado de máquina, conforme já citado neste trabalho, reconhecimento de padrões, estatísticas, banco de dados e visualização para extrair conhecimento (ou informação) de dados brutos, através da técnica de mineração de dados. Carvalho (2001) define mineiração de dados como “o uso de técnicas automáticas de exploração de grandes quantidades de dados de forma a descobrir novos padrões e relações que, devido ao volume de dados, não seriam facilmente descobertos a olho nu pelo ser humano.” Destacam-se algoritmos como Redes Neurais, Algoritmos Genéticos, baseados em estatísticas e Arvores de Decisões. Pode-se dividir esse processo em algumas etapas (FAYYAD et al., 1996): • Seleção • Processamento • Transformação • Mineração dos dados • Interpretação/Evolução 24 Os processos dessas etapas estão representados na figura 2.3, refere-se ao processo de preparação e seleção dos dados a serem analisados, padronizando o tipo, formato, e estrutura de tal, neste trabalho será utilizado dados médicos. Visa cumprir os objetivos definidos na etapa de identificação do problema, compreende o processo de escolha do algoritmo a ser utilizado para processar as informações e extrair os padrões propriamente ditos, focado na transformação dos dados, representando os padrões obtidos no processo da mineração de dados aplicado, obtendo-se a interpretação ou evolução dos dados para o conhecimento. Figura 2.3 Processo KDD. FONTE: FAYYAD et al., 1996. 2.8 WEKA Para aplicar a técnica de mineração de dados foi utilizado o software de domínio público, um software livre que possui sua licença baseada na GPL (General Public Licence) denominado WEKA (Waikato Environment for Knowledge Analysis), da Universidade de Waikato, Nova Zelândia. O pacote WEKA consiste de uma coleção de algoritmos de aprendizado de máquina para tarefas de mineração de dados. Pode ser usado para aplicar métodos de aprendizado a um conjunto de dados e analisar a saída para extrair informações a partir dos dados de entrada. Todos os algoritmos são implementados em Java, tanto novos como aqueles pré-existentes. Por 25 exemplo, o indutor C 4.5, originalmente escrito em linguagem de programação C foi recodificado para linguagem Java, nomeado como J.48 (WITTEN & FRANK, 1999). Assim como os algoritmos contidos no WEKA, o próprio software foi escrito em linguagem Java, uma vez que esta linguagem está disponível em varias plataformas como Windows, Linux e Macintosh, transformando assim, num software bastante portável (WITTEN & FRANK, 1999). Neste trabalho será utilizado o ambiente Explorer do WEKA, para a realização dos testes, a seguir será ilustrado imagens dos respectivos ambientes utilizados do software. 2.8.1 AMBIENTE EXPLORER DO WEKA Neste trabalho é utilizado o ambiente Explorer do WEKA representada na figura 2.4, para a realização dos testes, como abertura do arquivo da base de dados com extensão arff, a escolha dos algoritmos para os testes e a validação aplicada a eles, onde, se obterá os resultados para a realização de comparação de desempenho. 26 Figura 2.4 Tela inicial do WEKA. 2.8.2 AMBIENTE EXPLORER - PRÉ-PROCESSO Nesta tela (Figura 2.5), ocorre a abertura do arquivo da base de dados, onde é realizada a identificação dos atributos e instâncias da base por completo. 27 Figura 2.5 Tela do Pré-Processo. 2.8.3 AMBIENTE EXPLORER - CLASSIFICAÇÃO Após a abertura da base de dados, é utilizado o ambiente de classificação, onde acontece a escolha do classificador (Figura 2.6), ou seja, o algoritmo a ser executado e a técnica de validação. Feito as escolhas dos requisitos, inicia-se o processo de execução, onde ao final do processo o WEKA disponibiliza os resultados em porcentagem de erro e acerto, neste, caso representa os erros e acertos para classificação de certo tipo da doença esperada. 28 Figura 2.6 Tela de Classificação. 2.8.4 ARQUIVO ARRF O WEKA utiliza arquivos de dados de treinamento, com formato (arff), onde devem ser mostradas quais variáveis são permitidas para uma relação específica, bem como o tipo de dado de cada variável, isto é, nominal ou valor numérico (Tabela 1). Deverá conter uma lista de todos os atributos definindo-se o tipo do atributo ou os valores que ele pode representar. Os valores devem estar representados entre chaves “{}” e separados por vírgulas. 29 Tabela 1 Estrutura do arquivo ARRF. @relation Representa o conjunto de dados a ser analisado. @attribute Define as características, ou seja, o tipo de cada variável. O atributo pode ser do tipo: • Nominal • Booleano • Numérico @data É a representação dos registros da base de dados. As informações devem ser colocadas separadas por vírgulas, e cada linha representa um único registro. 30 3 DESENVOLVIMENTO PRÁTICO O objetivo principal deste trabalho é a utilização de algoritmos de AM, para aplicação em dados médicos, precisamente em um grupo de patologias classificadas como lesões intersticiais pulmonares, obtendo resultados onde será utilizado para comparação de desempenho entre os mesmos. 3.1 LEVANTAMENTOS DE DADOS Os dados utilizados foram retirados de (AMBRÓSIO, 2002), dentre varias doenças que podem ser classificadas no grupo das lesões intersticiais pulmonares, totalizando mais de 180 diferentes doenças. Para realizar a escolha de quais seriam utilizadas como exemplo para o desenvolvimento do sistema, contou-se com a ajuda de um médico especializado na área, no qual, foram selecionadas as seguintes patologias: Tabela 2 Relação das patologias investigadas. • Paracoccidioidomicose • Fibrose Pulmonar Idiopática (IPF) • Tuberculose Miliar • Histoplasmose • Sarcoidose • Silicose • Esclerose Sistêmica (Escleroderma) • Histiocitose X (Granuloma Eosinofílico) • Linfangite Carcinomatosa 31 3.2 PARÂMETROS CLÍNICOS E RADIOLÓGICOS Em seguida, após a escolha das patologias, também através do auxílio de um especialista, criou-se os principais parâmetros a serem analisados no exame clínico e radiológico que podem auxiliar no diagnóstico diferencial, obtendo-se aos seguintes (AMBRÓSIO, 2002): a) parâmetros clínicos: • idade do paciente; • sexo; • tempo de duração dos sintomas; • constatação de estado febril; • nível de imunidade; • relato de doença maligna; • paciente fumante; • relato de tratamentos com drogas; • relato de exposição constante à poeira; • relato de exposição constante a antígenos orgânicos. b) Parâmetros radiológicos: • grau de lesões apresentadas na área superior, nas metades esquerda e direita; • grau de lesões apresentadas na área média, nas metades esquerda e direita; • grau de lesões apresentadas na área inferior, nas metades esquerda e direita; • apresentação de padrão proximal ou periférico; • homogeneidade das lesões apresentadas; • apresentação de padrão fino ou grosseiro; • apresentação de nodularidade; • apresentação de linhas septais; • apresentação de pulmão em “favo de mel”; • verificação de perda de volume pulmonar; • apresentação de linfadenopatia; • apresentação de efusão pleural; 32 • tamanho cardíaco alterado. Com o conjunto de elementos, já bastante reduzidos, e analisados por um especialista, foirealizado a quantificação dos parâmetros radiológicos e o preenchimento do protocolo utilizado como entrada de dados para o sistema. Figura 3.1 Parâmetros Clínicos e Parâmetros Radiológicos. Fonte: Adaptado de AMBRÓSIO, 2002. 33 Os dados caracterizados como parâmetros clínicos foram obtidos através do prontuário do paciente, adaptados e quantificados da seguinte maneira (AMBRÓSIO, 2002): a) Idade: idade do paciente, em anos; b) Sexo: sexo do paciente, sendo o valor “masc” para sexo masculino e “fem” para sexo feminino; c) Duração dos sintomas: relatado pelo paciente, de 0 a 12 meses (relatos de mais de doze meses foram fixados no valor 12); d) Temperatura: observação de estado febril no momento do exame, sendo classificada com o valor “febre”, para a constatação de febre e valor “normal” para temperatura normal; e) Imunidade: valor “normal” para pacientes com imunidade normal e “suprimido” para os portadores de doenças do sistema imune; f) Doença maligna: relatado pelo paciente, sendo o valor “sim” para os pacientes portadores de doença maligna e “nao” caso contrário; g) Fumante: relatado pelo paciente, sendo “nao” para não fumantes e “sim” para fumantes; h) Tratamento com drogas: pacientes com tratamento por drogas tóxicas foram classificados com o valor “tóxico”, pacientes tratados por drogas pouco tóxicas receberam o valor “pouco_toxico”, tratados com drogas não tóxicas valor “nao_toxico”, e pacientes que não receberam nenhum tratamento por drogas classificados com o valor “nao”; i) Exposição à poeira: pacientes que relataram exposição constante à poeira receberam valor “sim”, caso contrário “nao”; j) Exposição a antígenos orgânicos: também relatada pelo paciente, à exposição para qualquer tipo de antígeno orgânico recebeu o valor “sim”, e valor “nao” caso contrário. Os parâmetros radiológicos foram quantificados pelo profissional especializado com base na observação das imagens radiológicas catalogadas também no prontuário do paciente. Essa quantificação foi realizada com valores inteiros no intervalo de 0 a 5 para todos os campos, 34 exceto o tamanho cardíaco (intervalo de 1 a 5), sendo dado o valor 0 para a ausência de lesão, e valores maiores para o nível (ou tamanho) da presença de lesão. 3.3 DADOS COLETADOS Um total de 112 (cento e doze) casos das patologias investigadas, distribuídos como: 22 casos de paracoccidioidomicose; 14 casos de histoplasmose; 17 casos de fibrose pulmonar idiopática; 20 casos de tuberculose miliar; 11 casos de sarcoidose; 12 casos de esclerodermia; 5 casos de silicose; 5 casos de histiocitose X; e 6 casos de linfangite carcinomatosa. 3.4 BASE DE DADOS PARA TREINAMENTO E TESTES Através dos dados coletados, criou-se uma base computacional, para a aplicação dos algoritmos. Cada um dos 112 registros dessa base (total de casos coletados) compõe-se de uma cadeia de 27 valores para o protocolo de entrada, sendo eles 18 valores numéricos e 9 entre nominais e booleanos, representando os 26 campos do protocolo de entrada, mais 1 valor para representar a saída esperada. Figura 3.2 Exemplo extraído da base de dados. Fonte: Adaptado de AMBRÓSIO, 2002. 3.5 RESULTADOS OBTIDOS POR CADA ALGORITMO A seguir serão ilustrados gráficos mostrando o desempenho e tabelas com seus respectivos resultados em porcentagem de acerto e tempo de execução para cada algoritmo com 35 validação Cross-Validation e Leave-One-Out, sendo que, o algoritmo que obteve o maior desempenho foi a Rede Neural (MLP) e o pior desempenho foi o Zero Rule. 3.5.1 RESULTADOS OBTIDOS - CROSS-VALIDATION Na Tabela 3, obteve-se o resultado em porcentagem de acerto para cada algoritmo com validação Cross-Validation, sendo que, o algoritmo que obteve o maior desempenho foi a Rede Neural (MLP) com 69,70% de acerto, 42,70% de erro absoluto relativo e 12,05 segundos em tempo de execução e o que obteve o pior desempenho com execução rápida foi o Zero Rule, com 19,60% de acerto, 100% de erro absoluto relativo e - segundos em tempo de execução, assim como o algoritmo One Rule 28,60% de acerto, 82,50% de erro absoluto relativo e 0,03 segundos em tempo de execução, também não obteve um bom desempenho de acerto, sendo o penúltimo em termos de valor. Destaca-se os algoritmos Rede Neural (RBF) 46,40% de acerto, 61,90% de erro absoluto relativo e 37,8 segundos em tempo de execução, Rede Bayesiana 57,10% de acerto, 56,99% de erro absoluto relativo e 0,13 segundos em tempo de execução e o C 4.5 (J.48) 52,70% de acerto, 56,77% de erro absoluto relativo e 0,25 segundos em tempo de execução, que obtiveram um bom desempenho. Os valores de desempenho estão representados no gráfico da figura 3.3, onde cada algoritmo possui a sua respectiva cor fixada na legenda de cada gráfico. Na tabela 3 estão os valores em % de acerto, tabela 4 valores de erro absoluto relativo e os valores de tempo de execução representados na tabela 5. Tabela 3 (%) de Acerto com Cross-Validation. Cross-Validation Algoritmos (%) Acerto One Rule 28,60% Zero Rule 19,60% Rede Neural (MLP) 69,70% Rede Neural (RBF) 46,40% Rede Bayesiana 57,10% C 4.5 (J.48) 52,70% 36 28,60% 57,10% 19,60% 69,70% 46,40% 52,70% 0,00% 10,00% 20,00% 30,00% 40,00% 50,00% 60,00% 70,00% 80,00% Algoritmos One Rule Zero Rule Rede Neural (MLP) Rede Neural (RBF) Rede Bayesiana C 4.5 (J.48) Figura 3.3 Gráfico em (%) de Acerto com Cross-Validation. Tabela 4 (%) de Erro Absoluto Relativo com Cross-Validation. Cross-Validation Algoritmos (%) Erro Absoluto Relativo One Rule 82,50% Zero Rule 100% Rede Neural (MLP) 42,70% Rede Neural (RBF) 61,90% Rede Bayesiana 56,99% C 4.5 (J.48) 56,77% 82,50% 100% 42,70% 61,90% 56,99%56,77% 0,00% 10,00% 20,00% 30,00% 40,00% 50,00% 60,00% 70,00% 80,00% 90,00% 100,00% 1 Algoritmos One Rule Zero Rule Rede Neural (MLP) Rede Neural (RBF) Rede Bayesiana C 4.5 (J.48) Figura 3.4 Gráfico em (%) de Erro Absoluto Relativo com Cross-Validation. 37 Tabela 5 (s) Tempo de Execução com Cross-Validation. Cross-Validation Algoritmos (s) Tempo de Execução One Rule 0,03 Zero Rule - Rede Neural (MLP) 12,05 Rede Neural (RBF) 37,8 Rede Bayesiana 0,13 C 4.5 (J.48) 0,25 0,03 12,05 37,8 0,13 0,25 0 5 10 15 20 25 30 35 40 Algoritmos One Rule Zero Rule Rede Neural (MLP) Rede Neural (RBF) Rede Bayesiana C 4.5 (J.48) Figura 3.5 Gráfico em (s) Tempo de Execução com Cross-Validation. 3.5.2 RESULTADOS OBTIDOS - LEAVE-ONE-OUT Na Tabela 4, obteve-se o resultado em porcentagem de acerto para cada algoritmo com validação Leave-One-Out, sendo que, o algoritmo que obteve o maior desempenho foi a Rede Neural (MLP) com 70,50% de acerto, 42,64% de erro absoluto relativo e 12,89 segundos em tempo de execução e o que obteve o pior desempenho com execução rápida foi o Zero Rule, com 19,60% de acerto, 100% de erro absoluto relativo e - segundos em tempo de execução, assim como o algoritmo One Rule 24,10% de acerto, 87,10% de erro absoluto relativo e - segundos em tempo de execução, também não obteve um bom desempenho de acerto, sendo o penúltimo em termos de valor. Destaca-se os algoritmos Rede Neural (RBF) 48,20% de acerto, 60,10% de erro absoluto relativo e 36,33 segundos em tempo de execução, Rede Bayesiana 57,10% de acerto, 38 55,13% de erro absoluto relativo e - segundos em tempo de execução e o C 4.5 (J.48) 50,90% de acerto, 57,33% de erro absoluto relativo e 0,05 segundos em tempo de execução, que obtiveram um bom desempenho. Os valores de desempenho estão representadosno gráfico da figura 3.5, onde cada algoritmo possui a sua respectiva cor fixada na legenda de cada gráfico. Na tabela 6 estão os valores em % de acerto, tabela 7 valores de erro absoluto relativo e os valores de tempo de execução representados na tabela 8. Tabela 6 (%) de Acerto com Leave-One-Out. Leave-One-Out Algoritmos (%) Acerto One Rule 24,10% Zero Rule 19,60% Rede Neural (MLP) 70,50% Rede Neural (RBF) 48,20% Rede Bayesiana 57,10% C 4.5 (J.48) 50,90% 24,10% 19,60% 70,50% 48,20% 57,10% 50,90% 0,00% 10,00% 20,00% 30,00% 40,00% 50,00% 60,00% 70,00% 80,00% Algoritmos One Rule Zero Rule Rede Neural (MLP) Rede Neural (RBF) Rede Bayesiana C 4.5 (J.48) Figura 3.6 Gráfico em (%) de Acerto com Leave-One-Out. 39 Tabela 7 (%) de Erro Absoluto Relativo com Leave-One-Out. Leave-One-Out Algoritmos (%) Erro Absoluto Relativo One Rule 87,10% Zero Rule 100% Rede Neural (MLP) 42,64% Rede Neural (RBF) 60,10% Rede Bayesiana 55,13% C 4.5 (J.48) 57,33% 87,10% 100% 42,64% 60,10% 55,13% 57,33% 0,00% 10,00% 20,00% 30,00% 40,00% 50,00% 60,00% 70,00% 80,00% 90,00% 100,00% 1 Algoritmos One Rule Zero Rule Rede Neural (MLP) Rede Neural (RBF) Rede Bayesiana C 4.5 (J.48) Figura 3.7 Gráfico em (%) de Erro Absoluto Relativo com Leave-One-Out. Tabela 8 (s) Tempo de Execução com Leave-One-Out. Leave-One-Out Algoritmos (s) Tempo de Execução One Rule - Zero Rule - Rede Neural (MLP) 12,89 Rede Neural (RBF) 36,33 Rede Bayesiana - C 4.5 (J.48) 0,05 40 12,89 36,33 0,05 0 5 10 15 20 25 30 35 40 Algoritmos One Rule Zero Rule Rede Neural (MLP) Rede Neural (RBF) Rede Bayesiana C 4.5 (J.48) Figura 3.8 Gráfico em (s) Tempo de Execução com Leave-One-Out. Foram realizados dois testes para cada algoritmo, aplicado por duas validações, por Cross-Validation e Leave-One-Out, com o objetivo de verificar qual algoritmo vai obter o melhor desempenho com relação à porcentagem de erro e acerto, levando em conta o tempo de execução de cada um. Dentre todos o que obteve o pior desempenho foi o algoritmo ZEROR, resultado já esperado, pois, o algoritmo aplica a base de dados uma única regra, onde, prediz o valor mais freqüente nos dados, sendo assim, resultando em uma porcentagem baixe de acerto. O algoritmo que obteve o maior desempenho foi a rede neural (MLP), com maior porcentagem de acerto. 3.5.3 REDES NEURAIS (MLP) - CROSS-VALIDATION O teste aplicado ao algoritmo de redes neurais com validação de Cross-Validation, com testes realizados com o número total de 112 registros obteve o resultado de 78 acertos com porcentagem de 69.6429 % e 34 erros com porcentagem de 30.3571 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: 41 Figura 3.9 Matriz confusão Redes Neurais (MLP) Cross-Validation. 3.5.4 REDES NEURAIS (MLP) - LEAVE-ONE-OUT O teste realizado ao algoritmo de redes neurais com validação de Leave-One-Out, realizados com o número total de 112 registros obteve o resultado de 79 acertos com porcentagem de 70.5357 % e 33 erros com porcentagem de 29.4643 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: Figura 3.10 Matriz Confusão Redes Neurais (MLP) Leave-One-Out. 3.5.5 REDES NEURAIS (RBF) - CROSS-VALIDATION O teste realizado ao algoritmo de redes neurais RBF com validação de Cross-Validation, realizados com o número total de 112 registros obteve o resultado de 52 acertos com porcentagem de 46.4286 % e 60 erros com porcentagem de 53.5714 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: 42 Figura 3.11 Matriz Confusão Redes Neurais (RBF) Cross-Validation. 3.5.6 REDES NEURAIS (RBF) - LEAVE-ONE-OUT O teste realizado ao algoritmo de redes neurais RBF com validação de Leave-One-Out, realizados com o número total de 112 registros obteve o resultado de 54 acertos com porcentagem de 48.2143 % e 58 erros com porcentagem de 51.7857 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: Figura 3.12 Matriz Confusão Redes Neurais (RBF) Leave-One-Out. 3.5.7 C4.5 - CROSS - VALIDATION O teste realizado ao algoritmo J.48 com validação de Cross-Validation, realizados com o número total de 112 registros obteve o resultado de 59 acertos com porcentagem de 52.6786% e 53 erros com porcentagem de 47.3214 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: 43 Figura 3.13 Matriz Confusão C4.5 Cross-Validation. 3.5.8 C4.5 - LEAVE-ONE-OUT O teste realizado ao algoritmo J.48 com validação de Leave-One-Out, realizados com o número total de 112 registros obteve o resultado de 57 acertos com porcentagem de 50.8929% e 55 erros com porcentagem de 49.1071 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: Figura 3.14 Matriz Confusão C4.5 Leave-One-Out. 3.5.9 ZEROR - CROSS-VALIDATION O teste realizado ao algoritmo ZEROR com validação de Cross-Validation, realizados com o número total de 112 registros obteve o resultado de 22 acertos com porcentagem de 19.6429 % e 90 erros com porcentagem de 80.3571 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: 44 Figura 3.15 Matriz Confusão ZEROR Cross-Validation. 3.5.10 ZEROR - LEAVE-ONE-OUT O teste realizado ao algoritmo ZEROR com validação de Leave-One-Out, realizados com o número total de 112 registros obteve o mesmo resultado pela validação de Cross-Validation de 22 acertos com porcentagem de 19.6429 % e 90 erros com porcentagem de 80.3571 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: Figura 3.16 Matriz Confusão ZEROR Leave-One-Out. 3.5.11 ONER - CROSS-VALIDATION O teste realizado ao algoritmo ONER com validação de Cross-Validation, realizados com o número total de 112 registros obteve o resultado de 32 acertos com porcentagem de 28.5714 % e 80 erros com porcentagem de 71.4286 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: 45 Figura 3.17 Matriz Confusão ONER Cross-Validation. 3.5.12 ONER - ONE-LEAVE-OUT O teste realizado ao algoritmo ONER com validação de Leave-One-Out, realizados com o número total de 112 registros obteve o resultado de 27 acertos com porcentagem de 24.1071 % e 85 erros com porcentagem de 75.8929 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: Figura 3.18 Matriz Confusão ONE Leave-One-Out. 3.5.13 REDE BAYESIANA - CROSS-VALIDATION O teste realizado pela rede bayesiana com validação de Cross-Validation, realizados com o número total de 112 registros obteve o resultado de 64 acertos com porcentagem de 57.1429 % e 48 erros com porcentagem de 42.8571 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representao número de acertos e erros sobre a classificação da doença esperada: 46 Figura 3.19 Matriz Confusão Rede Bayesiana Cross-Validation. 3.5.14 REDE BAYESIANA - LEAVE-ONE-OUT O teste realizado pela rede bayesiana com validação de Leave-One-Out, realizados com o número total de 112 registros obteve o mesmo resultado pela validação de Cross-Validation 64 acertos com porcentagem de 57.1429 % e 48 erros com porcentagem de 42.8571 % de erro. A seguir a matriz resultante gerada pelo algoritmo, representa o número de acertos e erros sobre a classificação da doença esperada: Figura 3.20 Matriz Confusão Rede Bayesiana Leave-One-Out. 47 CONCLUSÕES Observou-se que o processo de extração de conhecimento e a utilização dos algoritmos de aprendizado de máquina para classificação de padrões, possuem certa diferenciação entre eles, como resultados aplicado ao desempenho de ambos, variando de algoritmo para algoritmo, levando em conta o paradigma pertencente ao mesmo. Foram realizados estudos teóricos sobre cada algoritmo, a fim de se obter um conhecimento sobre cada um com relação ao desempenho, ou seja, a capacidade de classificar uma saída esperada de forma eficaz. Os testes foram iniciados a partir de uma base dados, no qual, foi aplicada ao software WEKA, onde se realizou dois testes para cada algoritmo, com duas validações Cross-Validation e Leave-One-Out, para a obtenção de resultados. O software WEKA por ser uma licença GPL facilitou bastante durante o processo dos testes, contribuiu com a possibilidade de se realizar vários testes em pouco espaço de tempo, e também por dar suporte a diversos algoritmos de aprendizagem de máquina. Observando os resultados obtidos pela pesquisa, pode-se concluir que o algoritmo de melhor desempenho como classificador de padrões, especificamente para a base de dados trabalhada, foi o de rede neural multicamadas, que teve a maior porcentagem de acerto, bem como o menor erro absoluto relativo. Após a conclusão do algoritmo de maior desempenho, como classificador de padrões, observou-se que o mesmo obteve tal desempenho sobre os demais especificamente em uma base dados apenas, porém, os demais algoritmos utilizados no trabalho podem obter melhor desempenho, por exemplo, em duas ou mais base de dados, e também em base de dados adaptada para a estrutura própria de tal algoritmo. Espera-se, com esse trabalho, por meio dos estudos de desempenho realizados com os algoritmos e seus resultados, proporcionar uma fonte para futuras pesquisas na área. Como proposta de trabalhos futuros, espera-se desenvolver os testes comparativos utilizando-se bases de dados distintas, a fim de comparar o desempenho dos algoritmos em situações diversas. 48 REFERÊNCIAS BIBLIOGRÁFICAS AMBRÓSIO, P. E. Redes neurais artificiais no apoio ao diagnóstico de lesões intersticiais pulmonares. Dissertação (Mestrado). Ribeirão Preto: Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto, Universidade de São Paulo, 2002. BARANAUSKAS, J. A. Extração Automática de Conhecimento por Múltiplos Indutores. São Carlos: Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, 2001. BARRETO, J. M. Introdução Redes Neurais Artificiais. Florianópolis: Laboratório de Conexionismo e Ciências Cognitivas UFSC - Departamento de Informática e de Estatística, 2002. Disponível em: <http://twiki.im.ufba.br/bin/viewfile/MAT054/TodoMaterial?rev=1.1;filename=REDESNEURAI S.PDF >. Acesso em: 14 ago. 2007. CARVALHO, L. A.V. Datamining: A Mineiração de Dados no Marketing, Medicina, Economia, Engenharia e Administração. São Paulo: Editora Érica Ltda, 2001. FAYYAD, U.; PIATETSKY-SHAPIRO, G.; SMITH, P. The KDD process for extracting useful knowledge from volumes of Data. Communications of the ACM, New York, 1996. JUSTINO, G. Indução de Árvores de Decisão Difusas. Disponível em: <http://www.cesblu.br/revista/ver_artigo.php?id=21>. Acesso em: 30 ago. 2007. LÓPEZ, J. M. M; HERRERO, J. G. Técnicas de Análisis de Datos: Aplicaciones Prácticas Utilizando Microsoft Excel Y Weka. Disponivel em: <http://galahad.plg.inf.uc3m.es/~docweb/ad/transparencias/apuntesAnalisisDatos.pdf >. Acesso em: 25 set. 2007. MITCHELL, T. M. Machine Learning. S.l.: McGraw-Hill. 1997. MONARD, M. C.; BARANAUSKAS, J. A. Conceitos sobre Aprendizado de Máquina. Capítulo 4. In: REZENDE, S. O. Sistemas Inteligentes: Fundamentos e Aplicações. Barueri: Manole, 2002. PICHILIANI, M. DataMining na Prática: Árvores de Decisão. Disponível em: <http://www.imasters.com.br/artigo/5130/sql_server/data_mining_na_pratica_arvores_de_decisa o/> Acesso em: 16 ago. 2007. TATIBANA, C. Y. e KAETSU, D. Y. Disponível em: <http://www.din.uem.br/ia/neurais/#neural>. Acesso em: 12 jul. 2007. WITTEN, I. H., AND FRANK E. Data Mining: Practical Machine Learning Toolsand Techniques with Java Implementations. San Francisco, 1999.
Compartilhar