Você está na página 1de 11

FACULDADE DE MEDICINA DA UNIVERSIDADE DO PORTO MESTRADO EM INFORMTICA MDICA

UNIDADE CURRICULAR DE SISTEMAS DE APOIO DECISO CLNICA

ESTUDO COMPARATIVO
DE

TRS ALGORITMOS DE MACHINE LEARNING


NA

CLASSIFICAO DE DADOS ELECTROCARDIOGRFICOS

PORTO, 06 DE MARO DE 2009

FACULDADE DE MEDICINA DA UNIVERSIDADE DO PORTO MESTRADO EM INFORMTICA MDICA


UNIDADE CURRICULAR DE SISTEMAS DE APOIO DECISO CLNICA
Prof. Doutora Ins Dutra

ESTUDO COMPARATIVO
DE

TRS ALGORITMOS DE MACHINE LEARNING


NA

CLASSIFICAO DE DADOS ELECTROCARDIOGRFICOS

Autores: Antnio Cardoso Martins Paulo Dias Costa

PORTO, 06 DE MARO DE 2009

NDICE

1. INTRODUO 2. CONCEITOS BSICOS 2.1. ELECTROCARDIOGRAFIA 3. ESTUDO EXPERIMENTAL 3.1. 3.2. 3.3. 3.4. DATASET DESCRIO DOS ALGORITMOS UTILIZADOS METODOLOGIA RESULTADOS

1 2 2 3 3 3 5 5 7 8

4. DISCUSSO E CONCLUSO 5. BIBLIOGRAFIA CONSULTADA

1. INTRODUO
Pretende-se com este trabalho conhecer ferramentas e mtodos de anlise e processamento, conhecer as principais tcnicas de data mining e machine learning, realizar anlise de dados e alterar parmetros, utilizando a ferramenta informtica WEKA1. Simultaneamente, pretende-se que os discentes desenvolvam a capacidade de pesquisa e competncias na manipulao de ferramentas de machine learning. Ao organizar-se como um grupo de indivduos com backgrounds distintos, torna-se relevante a troca de experincias e complementaridade de ambos, por forma a potenciar um estudo transversal que vise a interaco entre os sistemas de informao e as cincias mdicas.

Waikato Environement for Knownledge Analysis. Disponvel em www.cs.waikato.ac.nz/ml/weka.

2. CONCEITOS BSICOS
A necessidade de compreender os conceitos de Cardiologia subjacentes anlise do prprio dataset, fez com que tivessemos de pesquisar, a priori, suporte bibliogrfico que nos permitisse compreender conceitos bsicos de electrocardiografia por forma a, por um lado, identificar e analisar os contedos e estrutura de dados e, por outro, interpretar, compreender e extrapolar resultados.

2.1.

ELECTROCARDIOGRAFIA

O Electrocardiograma (ECG) pode definir-se como a representao grfica da actividade elctrica do corao. A sua realizao consiste na colocao de quatro elctrodos ao nvel distal dos membros superiores e inferiores e de seis elctrodos ao nvel do pr-crdio. Esta configurao permite obter 12 derivaes, que traduziro a actividade elctrica em determinada regio do corao. No ECG possvel visualizar pequenos acidentes (onda P, complexo QRS, onda T), entre os quais possvel tambm obter intervalos e segmentos. Por intervalo compreende-se o tempo mediado entre o incio e o final de uma onda ou entre o incio de uma onda e o incio da onda seguinte. J o segmento pode definir-se como o tempo compreendido entre o final de uma deflexo e o incio de outra.
Figura 1 - Exemplificao dos diversos elementos constantes no electrocardiograma.

3. ESTUDO EXPERIMENTAL
3.1. DATASET

O dataset utilizado neste estudo foi obtido do repositrio de dados para machine learning da Universidade da Califrnia2. O datset utilizado subdivide-se em trs grupos principais, com o objectivo de facilitar o seu uso experimental e permitir a identificao da prpria arritmia. Assim, a classe 1 refere-se a ECG normal, as classes 2 a 15 referem-se a ECG anormal e a classe 16 a dados no classificados. originalmente composto por 452 instncias, distribudas como indicado acima, em 16 classes, e 279 atributos, sendo 206 numricos e os restantes nominais. Existem, neste conjunto, alguns valores omissos. fornecida tambm a classificao em 16 classes, realizada por um especialista da rea. Os dados foram originalmente disponibilizados num ficheiro com extenso .data, ao qual correspondia o formato comma separated values (.csv). Adicionalmente foi disponibilizado um ficheiro (arrhythmia.names) com a descrio dos atributos e proprietrios da base de dados. Por forma a preparar os dados para utilizao na ferramenta WEKA, foi necessrio coligir toda a informao num s ficheiro com extenso .arff, onde etiquetamos cada atributo e o classificamos quanto ao tipo suportado pelo WEKA - numrico e nominal no nosso caso.

3.2.

DESCRIO DOS ALGORITMOS UTILIZADOS

O algoritmo OneR cria uma regra para cada atributo dos dados de treino e selecciona a regra com menor percentagem de erro como regra nica. Para criar uma regra para um atributo necessrio determinar a classe mais frequente para cada atributo. Como classe mais frequente entende-se a classe que aparece mais vezes para um dado atributo. Uma regra simplesmente um conjunto de valores de atributos limitados pela sua classe maioritria. A percentagem de erro de uma regra o nmero de instncias de treino na qual a classe de um valor de atributo no concordante com a classificao desse atributo na regra. Na eventualidade de duas ou mais regras possuirem a mesma percentagem de erro, a regra escolhida ao acaso. Este algoritmo

escolhido como base

de comparao com outros algoritmos, devido sua

simplicidade e necessidade de apenas um atributo.

O algoritmo J48 permite a criao de modelos de deciso em rvore. Utiliza uma tecnologia greedy para induzir rvores de deciso para posterior classificao. O modelo de rvore de deciso construdo pela anlise dos dados de treino e o modelo utilizado para classificar dados ainda no classificados. O J48 gera rvores de deciso, em que cada n da rvore avalia a existncia ou significncia de cada atributo individual. As rvores de deciso so construdas do topo para a base, atravs da escolha do atributo mais apropriado para cada situao. Uma vez escolhido o atributo, os dados de treino so divididos em sub-grupos, correspondendo aos diferentes valores dos atributos e o processo repetido para cada sub-grupo at que uma grande parte dos atributos em cada sub-grupo pertenam a uma nica classe. A induo por rvore de deciso um algoritmo que habitualmente aprende um conjunto de regras com elevada acuidade. Este algoritmo escolhido para comparar a percentagem de acerto com outros algoritmos.

O algoritmo Nave Bayes um dos mais simples classificadores probabilsticos. O modelo construdo por este algoritmo um conjunto de probabilidades. As probabilidades so estimadas pela contagem da frequncia de cada valor de caracterstica para as instncias dos dados de treino. Dada uma nova instncia, o classificador estima a probabilidade de essa instncia pertencer a uma classe especfica, baseada no produto das probabilidades condiconais individuas pra os valores caractersticos da instncia. O clculo exacto utiliza o teorema de Bayes e por essa razo que o algoritmo denominado um classificador de Bayes. O algoritmo tambm denominado de Nave, uma vez que todos os atributos so independentes dado o valor da varivel da classe. Apesar deste pressuposto, o algoritmo apresenta um bom desempenho em muitos dos cenrios de predio de classes. Estudos

University of California. Machine Learning Repository. Disponvel em: http://archive.ics.uci.edu/ml.

experimentais sugerem que este algoritmo tende a aprender mais rapidamente que a maioria dos algoritmos de induo e da o seu uso na nossa anlise.

3.3.

METODOLOGIA

Os algoritmos utilizados para comparao foram o OneR, J48 e Nave Bayes. A metodologia adoptada passou, numa primeira fase, pelo substituio dos valores em falta por valores probabilsticos de acordo com a distribuio dos valores conhecidos dos atributos. A anlise dos dados foi realizada utilizando os algoritmos seleccionados em trs configuraes possveis: split 50% treino / 50% teste, split 70% treino / 30% teste, split 80% treino / 20% teste. Os dados a analisar incluiram: 1) percentagem de acuidade ou nmero de instncias correctamente classificadas; 2) tempo para a construo do modelo ou tempo de aprendizagem; e 3) erro mdio.

3.4.

RESULTADOS

Os resultados da experincia encontram-se esquematizados na tabela abaixo (Tabela I).


Tabela 1 - Quadro resumo dos resultados obtidos no estudo experimental. J48 OneR Acuidade Treino/Teste 50%/50% 70%/30% 80%/20% 65,49 72,06 70,00 Tempo 1,78 1,54 1,77 Erro 0,0446 0,0378 0,0408 Acuidade 58,40 58,09 55,56 Tempo 0,12 0,13 0,13 Erro 0,0489 0,0493 0,0523 Acuidade 64,16 69,85 74,44

Nave Bayes Tempo 0,15 0,14 0,15 Erro 0,0428 0,0355 0,0304

Quando comparados em relao percentagem de acuidade, os algoritmos J48 e Nave Bayes apresentam resultados francamente melhores que o OneR e muito semelhantes entre si. No entanto, o algoritmo Nave Bayes apresenta uma relao directa com a percentagem de treino, o mesmo no acontecendo com o J48 que aquando da passagem de 70% para 80% de treino diminui a sua acuidade (Figura 1).

Figura 1 - Comparao da percentagem de acuidade entre os algoritmos J48, One R e Nave Bayes em funo da percentagem de treino/teste.

Em relao ao tempo de aprendizagem os algoritmos OneR e Nave Bayes apresentam um desempenho largamente superior ao J48 (Figura 2).

Figura 2 - Comparao do tempo de aprendizagem entre os algoritmos J48, One R e Nave Bayes em funo da percentagem de treino/teste.

Por fim, e relativamente ao erro mdio, o algoritmo OneR apresenta valores ligeiramente superiores aos restantes, sendo que o algoritmo Nave Bayes, ao invs dos outros, diminui o erro m mdio dio medida que aumenta a percentagem de treino (Figura 3).

Figura 3 - Comparao do erro mdio entre os algoritmos J48, One R e Nave Bayes em funo da percentagem de treino/teste.

4. DISCUSSO E CONCLUSO
Na elaborao deste trabalho testamos trs algoritmos de machine learning para classificar uma arritmia. Realizamos a anlise da percentagem de acuidade, tempo de aprendizagem e erro mdio. Pela anlise dos resultados acima apresentados, podemos concluir que os algoritmos OneR e Nave Bayes apresentam caractersticas que permitem uma rpida aprendizagem, ao invs do J48. No entanto, a percentagem de acuidade dos algoritmos J48 e Nave Bayes so substancialmente superiores ao OneR. Mais ainda, quando comparados os trs algoritmos, verificamos que todas as variveis dependem fortemente da percentagem de treino/teste. A interpretao dos dados sugere que o algoritmo de Nave Bayes, certamente pelas suas caractersticas probabilsticas, apresenta o melhor desempenho de entre os algoritmos escolhidos, quer pelos reduzidos erro mdio e tempo de aprendizagem, quer pela elevada (a mais elevada) acuidade diagnstica. Pensamos, suportados pelos resultados obtidos, que os algoritmos de machine learning podem auxiliar de forma substancial o diagnstico de arritmias cardacas. Em investigaes futuras pensamos que dever ser alterada ou a denominao do dataset ou a prpria classificao deste, uma vez que nem todas as classes obtidas dizem respeito, em termos formais, a arritmias propriamente ditas. Seria tambm interessante criar um dataset nacional, com denominaes ajustadas, e/ou repetir o estudo com diferentes algoritmos de machine learning.

5. BIBLIOGRAFIA CONSULTADA
1. Bortolan G, Pedrycz W. An Interactive Framework for an Analysis of ECG Signals. Artificial Intelligence in Medicine 2002; 24:109-32. 2. Haridas, M. Step by Step Tutorial for Weka. Disponvel em:

www.people.cis.ksu.edu/~hankley/d764/tut07/Haridas_DM.pdf 3. Lipman B, Cascio T, editors. ECG - avaliao e interpretao. Loures: Lusocincia; 2001. p. 1-22. 4. Soman T, Bobbie PO. Classification of Arrhythmias Using Machine Learning Techniques. Proceedings of the 4th International Conference on System Science and Engineering 2005; Rio de Janeiro (Brasil), Abril 25-27. 5. Wagner GS, editor. Marriott's Practical Electrocardiography. 10th ed. Philadelphia: Lippincott - Raven; 2006. p. 1-69. 6. Witten IH, Frank E. Data mining: practical machine learning tools and techniques. 2nd edition. San Francisco: Morgan Kaufmann; 2005.