Você está na página 1de 49

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

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.

Orientador: Prof. Dr. Paulo Eduardo Ambrósio

Ribeirão Preto
2007
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. .............................................. 46
Lista 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, destacando a 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

Nó Raiz

Nó Nó Nó
Comum Comum Comum

Regra de Regra de Regra de


Decisão Decisão Decisão

Nós Folhas Nós Folhas Nós Folhas


Classificação Classificação Classificação

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).
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, foi
realizado 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

80,00%
69,70%
70,00%

60,00% 57,10% Algoritmos


52,70%
One Rule
50,00% 46,40%
Zero Rule
40,00% Rede Neural (MLP)
28,60% Rede Neural (RBF)
30,00%
19,60% Rede Bayesiana
20,00% C 4.5 (J.48)
10,00%

0,00%

Figura 3.3 Gráfico em (%) de Acerto com Cross-Validation.

Tabela 4 (%) de Erro Absoluto Relativo com Cross-Validation.

Cross-Validation

(%) Erro Absoluto


Algoritmos 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%

100%
100,00%
90,00% 82,50% Algoritmos
80,00%
61,90% One Rule
70,00%
56,99% Zero Rule
60,00% 56,77%
Rede Neural (MLP)
50,00% 42,70% Rede Neural (RBF)
40,00%
Rede Bayesiana
30,00%
C 4.5 (J.48)
20,00%
10,00%
0,00%
1

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

40 37,8

35

30 Algoritmos
One Rule
25
Zero Rule
20 Rede Neural (MLP)
Rede Neural (RBF)
15 12,05
Rede Bayesiana
10 C 4.5 (J.48)
5
0,03 0,13 0,25
0

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 representados no 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%

80,00%
70,50%
70,00%
57,10% Algoritmos
60,00%
50,90% One Rule
48,20%
50,00%
Zero Rule
40,00% Rede Neural (MLP)
Rede Neural (RBF)
30,00% 24,10%
19,60% Rede Bayesiana
20,00% C 4.5 (J.48)
10,00%

0,00%

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

(%) Erro Absoluto


Algoritmos 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%

100%
100,00%
87,10%
90,00%
80,00% Algoritmos
70,00% 60,10% One Rule
60,00% 55,13% 57,33% Zero Rule
50,00% 42,64% Rede Neural (MLP)
40,00% Rede Neural (RBF)
30,00% Rede Bayesiana
20,00% C 4.5 (J.48)
10,00%
0,00%
1

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

40
36,33
35

30 Algoritmos
One Rule
25
Zero Rule
20 Rede Neural (MLP)

12,89 Rede Neural (RBF)


15
Rede Bayesiana
10 C 4.5 (J.48)
5
0,05
0

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, representa o 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.