análise de som cardíaco pediátrico para identificação de soproao usar um estetoscópio para...
Post on 06-Mar-2021
0 Views
Preview:
TRANSCRIPT
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Análise de som cardíaco pediátrico paraidentificação de sopro
Marisa Oliveira
Mestrado Integrado em Engenharia Informática e Computação
Supervisor: Rui Camacho (FEUP)
Co-Supervisor: Carlos Ferreira (ISEP), Jorge Oliveira (FCUP)
30 de Outubro de 2020
Análise de som cardíaco pediátrico para identificação de sopro
Marisa Oliveira
Mestrado Integrado em Engenharia Informática e Computação
30 de Outubro de 2020
Abstract
Cardiovascular diseases are one of the leading causes of death in the world. Heart auscultation is themost used method to monitor the heartbeat because it is the simplest and cheapest procedure. Using astethoscope it is possible to detect cardiac anomalies but only specialized and experienced persons arecapable of performing a correct diagnosis.
Nowadays the use of technology is increasing, especially in the area of Medicine. New technologicaldevelopments can be seen in consultations, screening and echocardiograms, electronic stethoscopes anddigital devices for the acquisition of cardiovascular data (rhythm, systolic and diastolic times). Within thisbroad area the focus of this work is on the analysis of cardiovascular data in order to identify heart murmursin pediatric patients. The available data will be used to construct tools to make early detection of cardiacanomalies and to optimize medical assessment and to also to support medical diagnosis in remote areaswhere doctors are limited, there is no sophisticated medical diagnostic equipment and to be able to assistthe diagnosis in economically poor populations.
The goal of our work is to use Artificial Intelligence (Machine Learning in particular) to analyze the datacollected in order to be able to predict if a patient has a heart murmur. Achieving this goal, with the help ofthis tool, it will be possible to make a diagnosis faster, less expensive and remote from hospital locations.
Keywords: Heart sounds, data processing, heart auscultation, cardiovascular data, machine learning, datamining
i
ii
Resumo
As doenças cardiovasculares são uma das principais causas de morte no mundo. A auscultação docoração é o método mais usado para monitorizar o batimento cardíaco porque é o mais simples e económico.Ao usar um estetoscópio para auscultação do batimento cardíaco é possível detetar anomalias cardíacas, masapenas pessoas especializadas e com experiência conseguem fazer um correto diagnóstico.
Nos dias de hoje, o uso da tecnologia é cada vez maior e tem vindo a intensificar-se, especialmente naárea de Medicina. Novos desenvolvimentos tecnológicos podem ser encontrados em consultas, triagens eecocardiogramas, estetoscópios eletrónicos e dispositivos digitais para aquisição de dados cardiovasculares(ritmo, tempos sistólicos e diastólicos). Assim, dentro desta área abrangente, o foco recai na análise dos da-dos cardiovasculares recolhidos, de forma a identificar sopros cardíacos em pacientes pediátricos. Os dadosdisponíveis vão ser usados na construção de ferramentas para detetar anomalias cardíacas com antecedênciae otimizar a avaliação médica em áreas remotas, onde os médicos são escassos e não existe equipamentosofisticado, de forma a auxiliar o diagnóstico de população economicamente pobre.
O objetivo incide no uso de Inteligência Artificial (em particular, aprendizagem computacional) nosdados recolhidos a fim de que se consiga prever se um paciente contenha um sopro ou não. Por consequência,com o auxílio desta ferramenta, será possível realizar um diagnóstico de patologias cardíacas à populaçãode forma mais rápida e menos custosa.
Keywords: Heart sounds, data processing, heart auscultation, cardiovascular data, machine learning, datamining
iii
iv
Agradecimentos
A realização deste trabalho não seria possível sem a contribuição de muitos e quero, desde já, deixaraqui o meu sincero obrigada.
Agradeço aos meus orientadores Rui Camacho, Jorge Oliveira e Carlos Ferreira por todo o acompanha-mento, pelos imensos conselhos fornecidos, por se mostrarem sempre dispostos a ajudar e estarem sempredisponíveis para me esclarecerem as dúvidas.
Agradeço aos amigos e colegas que ao longo desta jornada académica me forneceram ajuda em momen-tos de necessidade mas principalmente alegria nos tempos de pausa. Deixo um obrigada especial à Inês,por me tirar algumas dúvidas relacionadas com cardiologia e por me deixar à vontade para ir falar com elaquando mais dúvidas surgissem, à Diana e à Verónica, por me terem acompanhado sempre ao longo destepercurso, por nunca me deixarem desanimar nos momentos de maior dificuldade e por celebrarem comigo aspequenas vitórias, à Beatriz e à Márcia que, mesmo longe geograficamente, conseguiram apoiar-me sempree à Triz por todas as mensagens de força e por me lembrar várias vezes de manter o foco.
Por fim, agradeço à minha família, em especial aos meus pais e irmãs por todo o apoio, por todos osconselhos, por toda a confiança em mim depositada, por estarem sempre comigo nos bons e maus momentose serem sempre o meu porto seguro. Sem vocês, não teria sido a mesma coisa.
Muito, muito obrigada!
Marisa Oliveira
v
vi
“A completely predictable futureis already the past.”
Alan Watts
vii
viii
Conteúdo
1 Introdução 11.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objetivos e contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Estrutura da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Fisiologia Clínica 32.1 Conceitos básicos sobre o coração e patologias associadas . . . . . . . . . . . . . . . . . . 3
2.1.1 Fisiologia do coração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2 Ciclo cardíaco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.3 Som cardíaco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.4 Patologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.5 Auscultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Estado da Arte 93.1 Revisão bibliográfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 Cadeia do processamento do sinal do som cardíaco . . . . . . . . . . . . . . . . . . . . . . 10
3.2.1 Pré-processamento: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2.2 Segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.3 Deteção e Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Conceitos de aprendizagem computacional 154.1 Visão geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.2 Preparação do conjunto de dados: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.1 Butterworth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2.2 Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 Modelação: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.1 Validação cruzada: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3.2 Máquinas de vetores de suporte (SVM) . . . . . . . . . . . . . . . . . . . . . . . . 174.3.3 K-Nearest Neighbors (KNN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3.4 Random Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3.5 Regressão logística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3.6 XGBoost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3.7 LightGBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.8 Redes neuronais artificiais (ANN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Avaliação: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.4.1 Accuracy: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4.2 Precision: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4.3 Recall: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
ix
x CONTEÚDO
4.4.4 F1-Score: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Metodologia 275.1 Dados utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2 Visão geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.3 Pré-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.4 Extração e normalização de características . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.5 Algoritmos de aprendizagem computacional . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6 Experiências e Resultados 33
7 Conclusões e trabalho futuro 39
A Anexos 41A.1 Análise multi-foco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
A.1.1 Quatro focos de auscultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41A.1.2 Três focos de auscultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43A.1.3 Dois focos de auscultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44A.1.4 Um foco de auscultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
A.2 Análise por algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47A.2.1 Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47A.2.2 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51A.2.3 Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55A.2.4 F1-Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.3 Tabelas de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Referências 69
Lista de Figuras
2.1 Estrutura do coração e curso do sangue através das cavidades e válvulas . . . . . . . . . . . 42.2 Diagrama de Wiggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Diagrama de auxílio ao diagnóstico de sopro cardíaco através da auscultação . . . . . . . . . 72.4 Áreas de auscultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1 Diagrama da cadeia do processamento se sinal padrão do som cardíaco . . . . . . . . . . . . 103.2 a) Sinal PCG com ruído b) Sinal PCG sem ruído . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1 Butterworth vs Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2 SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3 KNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.4 Random Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.5 Regressão logística . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.6 Esquema de um algoritmo baseado em Gradient Boosting . . . . . . . . . . . . . . . . . . . 224.7 Crescimento de árvore XGBoost vs LightGBM . . . . . . . . . . . . . . . . . . . . . . . . 234.8 Esquema de uma rede neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1 Diagrama do esquema da metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.2 Exemplo do filtro de Butterworth aplicado a um som cardíaco . . . . . . . . . . . . . . . . 295.3 Exemplo do filtro de Chebyshev aplicado a um som cardíaco . . . . . . . . . . . . . . . . . 29
6.1 Variação média da métrica precision de acordo com o número de focos de auscultação emtodos os algoritmos utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2 Variação média da métrica accuracy de acordo com o número de focos de auscultação emtodos os algoritmos utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3 Variação média da métrica recall de acordo com o número de focos de auscultação em todosos algoritmos utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.4 Variação média da métrica f1-score de acordo com o número de focos de auscultação emtodos os algoritmos utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.5 Variação da métrica f1-score em todos os algoritmos utilizados com quatro focos de auscul-tação e o seu respetivo desvio padrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.6 Variação da métrica f1-score em todos os algoritmos utilizados com três focos de ausculta-ção e o seu respetivo desvio padrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.7 Variação da métrica f1-score em todos os algoritmos utilizados com dois focos de ausculta-ção e o seu respetivo desvio padrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.8 Variação da métrica f1-score em todos os algoritmos utilizados com dois focos de ausculta-ção e o seu respetivo desvio padrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
xi
xii LISTA DE FIGURAS
A.1 Variação da métrica accuracy em todos os algoritmos utilizados com quatro focos de aus-cultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
A.2 Variação da métrica precision em todos os algoritmos utilizados com quatro focos de aus-cultação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
A.3 Variação da métrica recall em todos os algoritmos utilizados com quatro focos de auscultação 42A.4 Variação da métrica accuracy em todos os algoritmos utilizados com três focos de auscultação 43A.5 Variação da métrica precision em todos os algoritmos utilizados com três focos de auscultação 43A.6 Variação da métrica recall em todos os algoritmos utilizados com três focos de auscultação . 44A.7 Variação da métrica accuracy em todos os algoritmos utilizados com dois focos de auscultação 44A.8 Variação da métrica precision em todos os algoritmos utilizados com dois focos de auscultação 45A.9 Variação da métrica recall em todos os algoritmos utilizados com dois focos de auscultação . 45A.10 Variação da métrica accuracy em todos os algoritmos utilizados com um foco de auscultação 46A.11 Variação da métrica precision em todos os algoritmos utilizados com um foco de auscultação 46A.12 Variação da métrica recall em todos os algoritmos utilizados com um foco de auscultação . . 47A.13 Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo KNN . 47A.14 Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo ANN . 48A.15 Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo Ran-
dom Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48A.16 Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo SVM . 49A.17 Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo LightGBM 49A.18 Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo Lo-
gistic Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50A.19 Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo XGBoost 50A.20 Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo KNN . 51A.21 Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo ANN . 51A.22 Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo Ran-
dom Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52A.23 Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo SVM . 52A.24 Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo LightGBM 53A.25 Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo Lo-
gistic Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53A.26 Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo XGBoost 54A.27 Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo KNN . . . 55A.28 Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo ANN . . . 55A.29 Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo Random
Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56A.30 Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo SVM . . . 56A.31 Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo LightGBM 57A.32 Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo Logistic
Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57A.33 Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo XGBoost . 58A.34 Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo KNN . 59A.35 Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo ANN . 59A.36 Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo Random
Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60A.37 Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo SVM . 60A.38 Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo LightGBM 61
LISTA DE FIGURAS xiii
A.39 Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo LogisticRegression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
A.40 Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo XGBoost 62
xiv LISTA DE FIGURAS
Lista de Tabelas
3.1 Sumário dos algoritmos de classificação do som cardíaco utilizados . . . . . . . . . . . . . 14
4.1 Matriz de confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1 Número de vezes que cada foco de auscultação foi considerado como o foco mais audível . . 28
A.1 Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação AV . . . . . 63A.2 Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação MV . . . . 63A.3 Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação PV . . . . . 64A.4 Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação TV . . . . . 64A.5 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVMV . 64A.6 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVPV . . 65A.7 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVTV . . 65A.8 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação MVPV . 65A.9 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação MVTV . 66A.10 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação PVTV . . 66A.11 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVMVPV 66A.12 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVMVTV 67A.13 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVPVTV 67A.14 Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação MVPVTV 67A.15 Resumo dos resultados obtidos com todos os algoritmos e os quatro focos de auscultação . . 68
xv
xvi LISTA DE TABELAS
Acrónimos
ANN Artificial Neural Networks (Redes neuronais artificiais)CNN Convolutional Neural Network (Redes neuronais convolucionais)RNN Recurrent Neural Network (Redes neuronais recorrentes)DWT Discrete Wavelet Transform (Transformada discreta de wavelet)FIR Finite Impulse Response (Resposta de impulso finito)IIR Ininite Impulse Response (Resposta de impulso infinito)IPM Índice de Pobreza MultidimensionalPCG Phonocardiogram (Fonocardiograma)S1 Primeiro som cardíacoS2 Segundo som cardíacoSVM Support Vector Machines (Máquinas de vetores de suporte)SGD Stochastic Gradient Descent (Gradiente Descendente Estocástico)AV Foco aórticoMV Foco mitralPV Foco pulmonarTV Foco tricúspide
xvii
Capítulo 1
Introdução
Ao longo deste capítulo é introduzido o problema encontrado, o contexto e o trabalho desenvolvido com
a elaboração desta dissertação. Além disso, é apresentada a estrutura desta dissertação.
1.1 Motivação
Doenças cardiovasculares são a principal causa de morte em países desenvolvidos. Estima-se que, em
2015, 17,7 milhões de pessoas morreram por causa de doenças cardiovasculares, o que representa cerca
31% das mortes a nível mundial [45]. Estas são de particular relevo em recém-nascidos e em população
infantojuvenil, nomeadamente crianças que nascem com malformação congénita, tendo em conta que a
cardiopatia é o tipo de doença congénita responsável por mais mortes no primeiro ano de vida do que
qualquer outra condição, quando são excluídas etiologias epidémicas [33].
No Brasil, este problema é ainda mais acentuado devido a problemas socioeconómicos. De acordo com
o Índice da Pobreza Multidimensional (IPM), em 2015, 3,8% da população brasileira, o que equivale a cerca
de 7,8 milhões de pessoas, vivia em situação de pobreza, ou seja, falta de infraestruturas, poucos recursos
financeiros para um rastreio eficiente de doenças cardiovasculares, falta de assistência médico sanitária,
privações no acesso à saúde, no acesso à educação, no acesso a água potável, ao saneamento e à eletricidade
[47]. De acordo com a investigação, a mortalidade infantil tem uma grande influência sobre a taxa de
mortalidade do Brasil [47].
No estado de Pernambuco, no Brasil, todos os anos existem campanhas de rastreio, nomeadamente, a
Caravana do Coração que tem como objetivo atender crianças e gestantes com problemas cardíacos. Atra-
vés da Caravana do Coração, é possível providenciar assistência composta por triagens, consultas e exames
cardiológicos a centenas de pessoas o que torna possível a redução do número de óbitos, principalmente de
pacientes pediátricos que é a população mais atingida por doenças cardiovasculares congénitas [13]. Em
2015 a equipa da Caravana do coração atendeu 1.349 crianças e destas foram identificadas 473 com cardio-
patia, das quais 30 a 50 crianças precisarão de cirurgia [18]. Se assumirmos que os números correspondem a
uma amostra representativa da população infantil do estado de Pernambuco, significa que 35% da população
pode ter cardiopatia e, aproximadamente, de 3 a 5 crianças em 50 pode precisar de cirurgia, o que leva à
1
2 Introdução
seguinte questão, que constitui o foco da presente dissertação: como se pode diminuir o número de mortes
precoces de crianças devido a doenças cardiovasculares?
1.2 Objetivos e contribuições
Uma possível solução passa por desenhar sistemas inteligentes e automáticos para a deteção precoce de
sopro cardíaco com base em auscultação. A auscultação foi o método escolhido porque é um método não
invasivo, simples e rápido para conhecer o estado do coração e é mais económico do que, por exemplo, a
ecocardiografia [23]. Além disso, a auscultação médica é uma competência difícil de dominar. Requer um
extenso e contínuo treino e, mesmo assim, um estudante de medicina precisa de ouvir cerca de 500 repeti-
ções de cada tipo de sopro até conseguir classificá-lo corretamente e apenas 20% dos estudantes graduados
conseguem detetar sons anormais do coração [44].
Estas limitações podem ser endereçadas através da criação de um sistema de apoio à decisão. Um
sistema que utiliza os dados adquiridos pela Caravana do Coração e com base em modelos matemáticos,
processamento de sinal e aprendizagem computacional, nomeadamente técnicas de machine learning, será
capaz de identificar se o coração se encontra saudável ou se tem alguma anomalia. Assim, será possível
reduzir a dificuldade e a margem de erro da auscultação tradicional o que poderá vir a desempenhar um papel
crucial no futuro pois auxiliará a realização de um diagnóstico e executar um diagnóstico precocemente
diminui drasticamente os fatores de risco de doenças cardiovasculares [27].
1.3 Estrutura da dissertação
Além do capítulo da introdução esta dissertação é composta pelos seguintes capítulos:
• Fisiologia Clínica (Capítulo 2): neste capítulo são apresentados conceitos básicos sobre o coração,
desde fisiologia cardíaca, ciclo cardíaco, som cardíaco e patologias associadas.
• Revisão Bibliográfica (Capítulo 3): neste capítulo são abordadas as tecnologias existentes relativas ao
processamento de sinal e aprendizagem computacional.
• Conceitos de aprendizagem computacional (Capítulo 4): neste capítulo serão abordados os tópicos
relativos a aprendizagem computacional desde o pré-processamento, passando pelos algoritmos de
aprendizagem computacional até às métricas utilizadas para avaliar modelos de classificação.
• Metodologia (Capítulo 5): neste capítulo é exposto o conjunto de dados utilizados, uma visão geral
do trabalho elaborado e uma explicação mais detalhada de cada etapa da realização desta dissertação.
• Experiências e Resultados (Capítulo 6): neste capítulo são exibidos os resultados das experiências
realizadas durante o desenvolvimento deste projeto
• Conclusões e trabalho futuro (Capítulo 7): este capítulo é reservado às conclusões obtidas pelo de-
senvolvimento do projeto e por sugestões de trabalho futuro.
Capítulo 2
Fisiologia Clínica
Durante este capítulo são introduzidos conceitos básicos sobre o coração, a sua fisiologia e patologias
associadas. Inicia-se pelo ciclo cardíaco onde são introduzidos os conceitos de sístole e diástole. De seguida,
é apresentada uma breve explicação de como o som cardíaco é produzido e de como através do som se
consegue identificar malformações cardíacas e, por fim, uma lista de patologias que se conseguem identificar
através da auscultação do som cardíaco.
2.1 Conceitos básicos sobre o coração e patologias associadas
O coração é um órgão muscular responsável pelo fluxo de sangue para os vasos sanguíneos e cavidades
do corpo [4]. As duas principais funções do coração são [23]:
• recolher o sangue rico em oxigénio dos pulmões (sangue arterial) e enviá-lo para todos os tecidos do
corpo (grande circulação);
• recolher o sangue rico em dióxido de carbono (sangue venoso) e enviá-lo para os pulmões (pequena
circulação);
2.1.1 Fisiologia do coração
O coração é dividido em quatro cavidades: a aurícula esquerda, o ventrículo esquerdo, a aurícula direita
e o ventrículo direito [14], como se pode observar na figura 2.1. A circulação do sangue é feita num único
sentido e esta circulação unidireccional é assegurada por um sistema de válvulas que permite a passagem do
sangue de uma cavidade para outra evitando o seu refluxo [39].
O coração é constituído por dois conjuntos de válvulas: as válvulas auriculoventriculares e as válvulas
semilunares. As válvulas auriculoventriculares separam as aurículas dos ventrículos. Existem duas válvulas
auriculoventriculares: a válvula tricúspide, que separa a aurícula direita do ventrículo direito, e a válvula
mitral, que separa a aurícula esquerda do ventrículo esquerdo [14]. As válvulas semilunares separam os
ventrículos das grandes artérias. A válvula pulmonar separa o ventrículo direito da artéria pulmonar e a
válvula aórtica separa o ventrículo esquerdo da artéria aorta [14].
1http://www.sohailuniversity.edu.pk/wp-content/uploads/2018/12/Guyton-Physiology-11th-edition.pdf
3
4 Fisiologia Clínica
Figura 2.1: Estrutura do coração e curso do sangue através das cavidades e válvulas. Figura adaptada deTextbook of Medical Physiology 1
2.1.2 Ciclo cardíaco
O ciclo cardíaco é um conjunto de mudanças de pressão que acontecem no coração que resultam no
movimento do sangue através das diferentes cavidades do coração e do corpo. Estas mudanças de pressão
e volume podem ser representadas graficamente em forma de diagrama de Wiggers, como representado na
figura 2.2. O ciclo cardíaco é constituído por [48]:
• sístole: que corresponde à contração do ventrículo. Começa quando a válvula mitral fecha e acaba
quando a válvula aórtica fecha.
• diástole: que corresponde ao relaxamento do coração. Começa quando a válvula aórtica fecha e acaba
quando a válvula mitral fecha.
A diástole começa com o fecho da válvula aórtica e, neste período, o sangue flui pelas válvulas auricu-
loventriculares enchendo os ventrículos [48]. O período de enchimento dos ventrículos corresponde a 2/3
do tempo da diástole e, o último 1/3, corresponde à contracção auricular. Esse enchimento resulta no au-
mento da pressão nos ventrículos, traduzindo-se no final da diástole, onde as válvulas auriculoventriculares
fecham e a vibração resultante do fecho dessas válvulas dá origem ao primeiro som cardíaco (S1) [23]. Mas,
as válvulas semilunares não abrem imediatamente. São necessários 0.02 a 0.03 segundos adicionais para
os ventrículos acumularem pressão suficiente para abrir as válvulas semilunares (aórtica e pulmonar) [22].
2https://en.wikipedia.org/wiki/Wiggers_diagram
2.1 Conceitos básicos sobre o coração e patologias associadas 5
Figura 2.2: Diagrama de Wiggers. Figura adaptada de Wiggers diagram 2
As válvulas semilunares abrem quando a pressão do ventrículo esquerdo atingir ligeiramente mais de 80
mm Hg (e a pressão do ventrículo direito atingir ligeiramente mais de 8 mm Hg). Nessa altura o sangue é
ejectado para fora dos ventrículos, o que corresponde à sístole [23]. No final desse período, os ventrículos
começam a relaxar permitindo que as pressões intra ventriculares diminuam. Contrariamente, a pressão nas
artérias é muito alta. Nesse período algum sangue esperado flui de volta para os ventrículos, forçando as
válvulas aórtica e pulmonar a fechar, resultando no segundo som cardíaco (S2) [23].
2.1.3 Som cardíaco
As vibrações e sequente abertura das válvulas cardíacas causadas pela pressão sanguínea durante o
ciclo cardíaco, são a origem dos sons cardíacos [14]. Como vimos anteriormente, o som S1 do coração
é produzido quando as válvulas mitral e tricúspide fecham em sístole e o som S2 do coração é produzido
quando as válvulas pulmonar e a aórtica fecham em diástole [14].
Estes sons são completamente não patológicos e correspondem à turbulência da pressão sanguínea cau-
sada pelo fecho das válvulas cardíacas. São geralmente descritos como lub e dub que ocorrem a cada
batimento cardíaco. Estes sons podem ser usados como limites entre sístole e diástole. A sístole ocorre de
S1 a S2 e a diástole ocorre de S2 a S2. S1 e S2 são normalmente os eventos com maiores amplitudes num si-
nal de fonocardiograma (PCG) e têm frequências entre 20-200 Hz. As durações normais desses sons variam
entre 70ms a 140ms. A frequência do espetro é muito semelhante, mas mostrou-se que S2 tem frequências
maiores do que S1, acima de 150 Hz [43].
6 Fisiologia Clínica
2.1.3.1 Ritmos de Galope
Além dos sons cardíacos S1 e S2 existem os denominados ritmos de galope (S3 ou S4). O termo ritmos
de galope deve-se ao facto de, em vez de ouvirmos a sequência lub-dub, é escutado um som adicional o que
resulta num som semelhante a um galope (lub-dub-ta ou ta-lub-dub). A ocorrência desses sons acontece
na diástole e o S3 vem logo após o S2 e o S4 vem logo após o S1. Acredita-se que este som é causado
pelo fluxo de sangue dentro do ventrículo que causa vibrações das válvulas e das cordas tendíneas [6]. Em
crianças e jovens podem corresponder ao som normal mas em indivíduos com mais idade corresponde a
patologia cardíaca. O S4 corresponde sempre a uma patologia [6]. S3 e S4 têm amplitudes e frequências
baixas entre 15-65Hz. A duração desses sons varia de 40ms a 60ms [43].
2.1.3.2 Sopros
Consegue-se distinguir os sopros cardíacos devido à sua maior duração. Em idade pediátrica podem-se
delinear três tipos de sopros [3]:
• Sopro inocente: Geralmente, acontece num coração bem estruturado e funcional;
• Sopro funcional ou fisiológico: Apesar de não apresentar anomalia cardiovascular, encontra-se uma
modificação hemodinâmica que pode alterar o fluxo normal do sangue;
• Sopro patológico ou orgânico: Quando anomalias funcionais e estruturais estão presentes no sistema
cardiovascular.
Geralmente, os sopros são causados pelo fluxo sanguíneo turbulento que pode resultar no estreitamento
ou vazamento das válvulas cardíacas ou devido a passagens anormais de sangue no coração [6]. De acordo
com a situação fisiológica que leva ao sopro diferentes sons são gerados. Na secção 2.1.4 serão expostas um
conjunto de patologias e sopros associados.
2.1.4 Patologias
Existe um conjunto de doenças cardiovasculares com sopros associados [58] e que podemos observar
na figura 2.3. Cada sopro, normalmente, tem características que permite distinguir a patologia. De seguida
são representadas o conjunto de doenças cardiovasculares audíveis com o estetoscópio [58]:
• Estenose aórtica: corresponde ao estreitamento da válvula aórtica. A auscultação é descrita como
um severo crescendo-decrescendo sopro sistólico.
• Regurgitação aórtica: corresponde ao mau fecho da válvula aórtica, permitindo ao sangue fluir em
sentido contrário, saindo da artéria aorta e regressando aos ventrículos. A auscultação é descrita como
um decrescendo sopro diastólico.
3https://pdfs.semanticscholar.org/a9f0/920ca5d82102bebba7f041cd5af7e57d3833.pdf
2.1 Conceitos básicos sobre o coração e patologias associadas 7
Figura 2.3: Diagrama de auxílio ao diagnóstico de sopro cardíaco através da auscultação. Figura adaptadade Design, characterization and application of a multiple input stehoscope apparatus3
• Estenose mitral: corresponde ao estreitamento da válvula mitral. A auscultação é descrita como um
sopro diastólico.
• Regurgitação mitral: corresponde ao mau fecho da válvula mitral, permitindo ao sangue fluir em
sentido contrário, saindo do ventrículo esquerdo e voltando à aurícula esquerda. A auscultação é
descrita como um sopro sistólico.
• Prolapso da válvula mitral: distúrbio em que as abas da válvula (cúspides) sofrem prolapso para
o átrio esquerdo quando o ventrículo esquerdo se contrai, às vezes permitindo o vazamento (regur-
gitação) de sangue para a aurícula. A auscultação apresenta um clique sistólico inicial, por vezes
acompanhado de um sopro sistólico tardio.
• Estenose pulmonar: corresponde ao estreitamento da válvula pulmonar. A auscultação é descrita
como um crescendo-decrescendo sopro de ejeção sistólico.
• Estenose tricúspida: corresponde ao estreitamento da válvula tricúspida. A auscultação é descrita
como um sopro diastólico.
• Regurgitação tricúspida: corresponde ao mau fecho da válvula tricúspida, permitindo ao sangue
fluir em sentido contrário, saindo do ventrículo direito e regressando a aurícula direita. A auscultação
é descrita como um decrescendo sopro sistólico.
• Defeito do septo: roturas no septo (parede) que separa a aurícula direita da esquerda (defeito do septo
atrial) ou a parede que separa o ventrículo esquerdo do ventrículo direito (defeito do septo ventricular).
8 Fisiologia Clínica
Figura 2.4: Áreas de auscultação. Figura adaptada de Tricuspid murmur4
A auscultação dos defeitos do septo atrial apresentam um S1 alto e um largo, com divisão fixa S2. A
auscultação dos defeitos no septo ventricular apresentam um sopro holossistólico (que ocupa toda a
sístole) alto.
• Cardiomiopatia hipertrófica: doença do miocárdio hereditária em que as paredes sofrem variações
hipertróficas, ou seja, tornam-se espessas (hipertrofia) e rígidas. A ausultação apresenta um sopro de
ejeção sistólico.
• Persistência do canal arterial: o vaso sanguíneo que conecta a artéria pulmonar à aorta (canal arte-
rial) não se fecha. A auscultação é descrita como um contínuo sopro semelhante a uma "máquina".
2.1.5 Auscultação
Para conhecer o estado do coração existem inúmeros procedimentos que permitem verificar o estado do
coração como, por exemplo, a auscultação cardíaca, exame do pulso arterial, electrocardiograma (ECG) e
a ecocardiografia [39]. Esta dissertação foca-se em auscultação porque é um método não invasivo e eficaz
para conhecer o estado do coração, é mais económico do que, por exemplo, a ecocardiografia e o design
compacto dos estetoscópios facilita o seu transporte para ambientes de com pouca acessibilidade. Além
disso, a auscultação médica é uma competência difícil de dominar. Requer um extenso e contínuo treino e,
mesmo assim, um estudante de medicina para conseguir classificar corretamente um sopro, precisa de ouvir
cerca de 500 repetições de cada tipo de sopro e apenas 20% dos estudantes graduados conseguem detetar
sons anormais do coração [44].
O estetoscópio pode ser usado para auscultar as quatro válvulas cardíacas, sendo posicionado em de-
terminada área específica para ouvir a válvula pretendida, como podemos observar na figura 2.4: a válvula
aórtica ouve-se melhor no segundo espaço intercostal (direito), justo ao esterno; a válvula pulmonar ouve-se
melhor no segundo espaço intercostal (esquerdo), justo ao esterno; a válvula tricúspide ouve-se melhor no
quarto espaço intercostal (esquerdo) (linha paraesternal) e a válvula mitral ouve-se melhor no quinto espaço
intercostal (esquerdo) (linha médio clavicular) [14].4https://www.liberaldictionary.com/tricuspid-murmur/
Capítulo 3
Estado da Arte
Neste capítulo é apresentado o estado da arte. Inicialmente explicar-se-á como foi elaborado o respetivo
estado da arte e como foram selecionados os trabalhos para análise. De seguida, para reconhecimento
dos sons cardíacos, uma cadeia para processar o sinal cardíaco é revelada, onde são exibidos algoritmos
utilizados para remoção de ruído dos sons cardíacos, para divisão do som auscultado em ciclos cardíacos e
também algoritmos usados para classificar o som auscultado como anormal ou normal.
3.1 Revisão bibliográfica
Para elaborar a revisão bibliográfica foi feita uma pesquisa na ferramenta Google Scholar usando o
conjunto de palavras-chave seguinte: heart sound, murmurs, classification, deep learning, neural networks
e machine learning. Foram escolhidas estas palavras chave porque esta tese vai combinar algoritmos de
aprendizagem computacional, nomeadamente algoritmos de classificação para detecção de doenças con-
génitas com base em auscultação. Ao fazer a combinação das palavras-chave referidas foi construída a
seguinte query: "intitle:"heart sound"AND "murmurs"AND ("classification"OR "deep learning"OR "neural
networks"OR "machine learning"). Esta query foi executada no dia 27 de Janeiro de 2020, com patentes
excluídas da pesquisa, e retornou 364 resultados para analisar. A análise foi feita nos passos seguintes: 1.
escolher artigos com base no título, isto é, se o título estiver relacionado com a tese é selecionado; 2. Com
a leitura do resumo dos artigos selecionados fazer a exclusão daqueles que não são adequados ao propósito
da tese. Além disso, a acessibilidade online dos artigos também foi um dos critérios usados para a escolha
dos artigos. Após a aplicação de todos os critérios mencionados acima foram selecionados 27 artigos que
se tornam a base da análise.
Nesta dissertação vão ser usadas técnicas de Machine Learning para analisar o som cardíaco de forma
a ser possível distinguir sons de batimento cardíaco normais de sons de batimentos cardíacos anormais.
O objetivo passa por transformar os dados em subconjuntos para ser possível retirar conclusões [40]. De
seguida utilizar-se-ão métodos de Machine Learning de forma a construir um sistema de apoio à decisão
capaz de analisar o som cardíaco e identificar se possui sopro ou não. Para tornar isso possível é necessário
passar pelas quatro fases que irão ser apresentadas de seguida.
9
10 Estado da Arte
Figura 3.1: Diagrama da cadeia do processamento se sinal padrão do som cardíaco
3.2 Cadeia do processamento do sinal do som cardíaco
Para reconhecer e distinguir os sons cardíacos normais dos sons cardíacos anormais será preciso seguir
os passos seguintes que também se encontram representados na figura 3.1.
• Pré-processamento: remoção ou atenuação do ruído e aprimoramento das características do sinal.
Isto normalmente é alcançado com um processo de filtragem, isto é, remoção de altas ou baixas
frequências indesejadas.
• Segmentação: após a filtragem do som, geralmente faz-se a divisão em ciclos cardíacos. Cada ciclo
cardíaco é composto pelo primeiro som do coração (S1), sístole, pelo segundo som do coração (S2) e
diástole e com a segmentação torna se possível extrair características de cada ciclo.
• Deteção e Classificação: os sons cardíacos são classificados como som com sopro ou som sem sopro
de acordo com critérios específicos. Por exemplo, para classificar os sons cardíacos é usado o tempo,
duração, qualidade, intensidade. São características utilizadas pelos médicos para fazer a classificação
do sopro cardíaco existente no som.
De seguida entrar-se-á em detalhe de cada um dos passos da cadeia de processamento do sinal do som
cardíaco com exemplos de técnicas usadas em trabalhos já elaborados. Começa-se com o passo de proces-
samento de sinal.
3.2.1 Pré-processamento:
Auscultação computacional tem sido um assunto com várias investigações e muitos métodos diferentes
têm sido aplicados para resolver os problemas, não apenas em termos de algoritmos de classificação mas
também nas formas de como os dados são recolhidos. Processamento do sinal pode ser dividido em duas
principais áreas:
• deteção de sons, como S1 e S2, para executar a segmentação do sinal em ciclos cardíacos
• deteção de sopro cardíaco
Ambas as abordagens têm o sinal PCG como base, sendo que ambas partilham as mesmas ferramentas de
processamento [35]. O estetoscópio provou a sua utilidade e continua a ser uma ferramenta importante no
3.2 Cadeia do processamento do sinal do som cardíaco 11
Figura 3.2: a) Sinal PCG com ruído b) Sinal PCG sem ruído. Figura adaptada de Heart detection anddiagnosis based on ECG and EPCG relationships1
diagnóstico cardiovascular [2] onde os sons produzidos pela atividade cardíaca podem ser registados através
da fonocardiografia (sinais PCG) de forma a examinar os sinais PCG tendo em conta padrões patológicos,
tais como: variações de intensidade, tempo e duração dos eventos [2]. Mas, a gravação do som cardíaco
pode ser corrompida por sons externos, por exemplo, a respiração, o movimento do peito, sons do ambiente,
etc [23]. Podemos visualizar na figura 3.2 uma amostra de um sinal PCG com ruído e sem ruído.
Ao analisar os trabalhos elaborados reparamos que para remover o ruído do sinal PCG os métodos
existentes normalmente aplicam filtros passa-banda digitais, sendo os mais comuns os filtros IIR (Infinite
Impulse Response) ou FIR (Finite Impulse Response) [23]. Sinha et al. [53] usaram o filtro IIR de But-
terworth para remover o ruído do sinal PCG.
Outra abordagem passa pelo uso de transformadas wavelet, nomeadamente Discrete Wavelet Transform.
Por exemplo, Chebil et al. [7] usaram DWT (Discrete Wavelet Transform), que pode ser representada como
uma árvore de filtros passa-baixo e passa-alto, para decompor o sinal sucessivamente e representá-lo de
forma eficiente com o menor número de parâmetros e o menor tempo de computação. Nabih-Ali et al. [42]
utiliza métodos DWT para remover o ruído do sinal PCG e conclui que apresentam um desempenho superior
na redução do ruído devido à suas propriedades de multi-resolução e a técnica de janela.
Em alguns outros trabalhos são utilizados os filtros Chebyshev, por exemplo, Tang et al. [55] usaram
filtros passa-baixo para eliminar o ruído. Um filtro passa baixo filtra as frequências altas das frequências
baixas, e Tang et al. usaram um filtro Chebyshev de ordem 8. Martinez et al. [36] usaram filtros passa baixo
Chebyshev do tipo I e de quarta ordem para remover as frequências altas devido ao barulho do ambiente
e interferências e depois usaram um filtro passa-alto Chebyshev do tipo I (de quarta ordem) para remover
1Phanphaisarn, W.Roeksabutr, Athikom Wardkein, Paramote Koseeyaporn, J. Yupapin, Preecha.(2011). Heart detection anddiagnosis based on ECG and EPCG relationships. Medical devices (Auckland, N.Z.)
12 Estado da Arte
as frequências baixas devido aos movimentos musculares. Deperlioglu [12] para filtrar o sinal usa o filtro
elíptico. O filtro elíptico combina as propriedades dos filtros Chebyshev (tipo 1 e tipo 2).
A fase de pré-processamento engloba a seleção, remoção do ruído e transformação dos dados. Quando
os dados estão aptos para ser analisados segue-se para o passo seguinte: a segmentação.
3.2.2 Segmentação
Nas últimas décadas muitos métodos de segmentação do som do coração foram investigados. Os algorit-
mos padrão fazem a extração de envelogramas dos sinais originais e outros critérios temporais para detectar
e classificar os sons do coração. [23] O envelograma de energia Shannon é utilizado em vários estudos.
Sinha et al. [53] para detectar o primeiro som S1 e o segundo som S2 usaram dois procedimentos indepen-
dentes: cálculo da energia de Shannon do sinal wavelet filtrado (0-300Hz) ao longo do tempo e cálculo da
energia total ao longo do tempo calculada pela soma de todos os coeficientes por janela do menor tempo da
transformada de Fourier.
Outros estudos usam DWT para segmentação do sinal PCG. Low et al. [34] usam DWT para segmenta-
ção do sinal PCG.
Verbancic et al. [61] apresentaram um novo método para segmentação automática dos sinais do som
cardíaco usando redes neuronais convolucionais profundas. Os sinais usados para avaliar a proposta foram
capturados com ruído mas o método utilizado por Verbancic não utiliza as técnicas de processamento co-
muns. Definem uma arquitetura de redes neuronais profundas de várias camadas, adaptadas ao processo de
segmentação do sinal. Desta maneira, o método realiza a segmentação e deteta os batimentos cardíacos de
forma automática.
Modelos semi-Markov também são usados como método de segmentação. Rubin et al. [10] utilizam um
modelo semi-Markov oculto de regressão logística para segmentar instâncias de som cardíaco de entrada em
segmentos mais curtos. Latif et al. [27] usaram redes neuronais recorrentes (RNN) para detetar sons anor-
mais do batimento cardíaco e chegaram a conclusão que os resultados forma significativamente melhores do
que os modelos com redes neuronais convencionais.
Após o passo de segmentação estar completo, segue-se para o próximo passo: deteção e classificação.
3.2.3 Deteção e Classificação
A próxima etapa é para detetar e classificar a presença de anormalidades no som cardíaco, ou seja, ondas
relacionadas com sopros cardíacos. Esta técnica é o foco desta dissertação porque o objetivo é classificar o
som cardíaco como som normal ou anormal. Após a análise de vários trabalhos existentes, redes neuronais
são muito utilizadas para a classificação do som do coração. Usualmente, as características usadas como
entrada são: tempo, tempo-frequência, frequência, complexidade e características baseadas em escala de
tempo [23].
Muitos estudos usam redes neuronais artificiais (ANN). Sinha et al. [53] usaram redes neuronais de
backpropagation com uma camada de entrada de 64 nós. Escrevem um programa para simulação de uma
ANN de backpropagation para diferenciar os dados wavelet do PCG entre as válvulas mitrais anormais e
3.2 Cadeia do processamento do sinal do som cardíaco 13
normais. Ali et al. [62] usam ANN com o algoritmo de backpropagation para reconhecer padrões no som
cardíaco.
Chebil et al. [7] utilizou um algoritmo que usa DWT para identificação automática de S1 e S2 e classifica
o sinal em normal, sopro sistólico ou sopro diastólico. Rubin et al. [10] utilizou RNN profundas à tarefa de
classificação automatizada dos sons cardíacos para reconhecimento de sons normais e anormais.
Redes neuronais convolucionais (CNN) e redes neuronais recorrentes (RNN) são também um método
aplicado para a classificação de sons cardíacos. Rubin et al. [10] utiliza rede neural convolucional para
realizar a extração automática de características e distinguir entre espectrogramas bidimensionais normais e
anormais. Deperlioglu [12] usou redes neuronais artificiais (ANN) e redes neuronais convolucionais (CNN)
e mostrou que a classificação feita por CNN dava melhores resultados do que a classificação feita por ANN.
Low et al. [34] usa redes neuronais convolucionais (CNN) de 2 e 3 camadas para classificação. Tang et
al. [55] usaram redes neuronais profundas que combinam componentes de redes neuronais convolucionais
(CNN) e redes neuronais recorrentes (RNN) de forma a ser possível analizar e aprender características
espaciais e temporais das ondas sonoras.
Outras abordagens utilizam transformadas wavelet de dispersão support vector machines (SVMs). Li et
al. [30] propõe um algoritmo para classificação baseado em transformadas wavelet de dispersão (wavelet
scattering transform) e twin support vector machine (TWSVM). Kocygit [26] executa com análise linear
descriminada (LDA), support vector machines (SVMs) e algoritmos de Naive Bayes (NB).
Na tabela 3.2.3 é apresentado um resumo dos trabalhos analisados onde se expõem o autor, o ano de
publicação, o conjunto de dados utilizado, as métricas para a avaliação e as suas contribuições.
14 Estado da Arte
Autor Ano Dataset Métricas Contribuição
Latif[27] 2018 Physionet Challenge 2016 Sensitivity, specificity,
accuracy
Solução baseada em redes
neuronais recorrentes
(RNNs)
Leung[29] 2000 56 sons foram recolhidos
de crianças, 21 normais e
35 com anormais
Sensitivity Classificação feita por
redes neuronais de proba-
bilidade (PNNs)
Vepa[59] 2009 130 sons cardíacos, dos
quais 45 sons normais, 42
com sopro sistólico e 43
com sopro diastólico
Accuracy Experiências de classi-
ficação feitas com SVM
e k-nearest neighbor (k-
NN)
Li [30] 2019 Physionet Challenge 2016 Sensitivity, specificity,
accuracy, precision,
F1Score
Extração e classificação
de características do si-
nal do som cardíaco com
uma combinação de trans-
formadas de dispersão de
wavelets e SVMs
Sunjing [1] 2017 1000 dados recolhidos do
primeiro hospital afiliado
da Univeridade de Medi-
cina de Kunming, onde
349 batimentos normais e
651 batimentos anormais
Accuracy Uso de CNN para identi-
ficar o padrão do som do
coração
Bozkurt [5] 2018 UoC-murmur database e
Physionet challenge 2016
Sensitivity, specificity,
accuracy
Detecção automática de
risco de anormalidade
estrutural do coração a
partir de sinais do PCG,
com o uso de CNN
Gjoreski [19] 2020 Conjunto de dados pró-
prio e, adicionalemente,
6 conjuntos de dados do
Physionet Challenge 2016
Sensitivity, specificity,
accuracy
Combinação de Machine
Learning e Deep Lear-
ning para deteção de do-
enças cardiovasculares a
partir de sinais PCG
Tabela 3.1: Sumário dos algoritmos de classificação do som cardíaco utilizados
Capítulo 4
Conceitos de aprendizagem computacional
Neste capítulo são abordados os tópicos relativos a aprendizagem computacional. Iniciar-se-á por uma visão
geral, nomeadamente o processo CRISP-DM, seguido pelo pré-processamento, onde será elaborada uma pe-
quena explicação dos filtros utilizados, depois são explicados os algoritmos de aprendizagem computacional
e, para terminar, uma secção sobre as métricas utilizadas para avaliar modelos de classificação.
4.1 Visão geral
O processo de aprendizagem é composto por várias fases e a elaboração desta dissertação foi baseada nos
passos do processo CRISP-DM (CRoss Industry Standard Process for Data Mining). Este processo é com-
posto pelas seis fases seguintes [52]:
• Compreensão do problema: Esta fase foca-se na compreensão dos objetivos do projeto. Verificam-
se os recursos, os riscos, determinam-se os objetivos e os critérios de sucesso de data mining.
• Conhecimento do conjunto de dados: Nesta fase, os dados são recolhidos, descritos e explorados
para verificar se têm qualidade e para estudar o que se tem e pode fazer com os dados.
• Preparação do conjunto de dados: Nesta fase são elaboradas atividades para construir o conjunto
final de dados para a aplicação dos modelos. Aqui são aplicados os filtros, extraídas as características,
feitas divisões em conjunto de treino e teste para posteriormente seguir-se para a fase de modelação.
É aqui onde os filtros de Butterworth e de Chebyshev são aplicados.
• Modelação: Nesta fase, várias modelos de aprendizagem computacional são escolhidos e aplicados
e os parâmetros são ajustados para se conseguir obter os melhores valores. Nesta dissertação são
aplicados modelos de machine learning, nomeadamente, regressão logística, KNN, SVM,Random
Forest, LighGBM, XGBoost e ANN.
• Avaliação: Esta fase é a fase onde os modelos utilizados são avaliadas. Aqui serão utilizadas as mé-
tricas de classificação para avaliar os modelos mencionados na etapa anterior. As métricas utilizadas
são precision, accuracy, recall e f1-score.
15
16 Conceitos de aprendizagem computacional
• Implementação: Esta é a fase para rever o que foi elaborado e analisar se os objetivos foram alcan-
çados.
De seguida, serão introduzidos conceitos das fase de preparação do conjunto de dados, modelação e avalia-
ção para uma melhor compreensão da metodologia elaborada no capítulo 5.
4.2 Preparação do conjunto de dados:
Para reduzir o ruído de fundo e suprimir as interferências dos sinais do som cardíaco é necessário remover
algumas das frequências dos sons gravados porque as gravações normalmente possuem ruídos e para isso
são utilizados filtros. Os filtros podem ser classificados com base em diferentes critérios, tais como sendo
linear ou não linear, ativo ou passivo, analógico ou digital, entre outros [17]. Os dois maiores grupos de
filtros digitais usados são os filtros de impulso finito (FIR) e os filtros de impulso infinito (IIR). Geralmente,
um filtro dá-nos uma certa resposta a um certo sinal de entrada e se soubermos a resposta do filtro podemos
calcular a amplitude e o comportamento da fase do filtro [9]. Num sistema digital um sinal é um conjunto de
amostras e cada uma das amostras no sinal corresponde a um pulso e com os filtros IIR, temos uma entrada
e recebemos infinitos pulsos de saída. No entanto, com os filtros FIR temos finitos pulsos de saída [9]. De
seguida, segue-se uma breve explicação dos filtros IIR de Butterworth e de Chebyshev e podemos observar
na figura 4.1 a resposta do filtro de Butterworth e do filtro Chebyshev.
Figura 4.1: Resposta dos filtros IRR de Butterworth e Chebyshev. Figura adaptada de Design and Imple-mentation of Butterworth, Chebyshev-I and Elliptic Filter for Speech Signal Analysis 1
4.2.1 Butterworth
O filtro IIR de Butterworth é um filtro baseado em frequência e considerado o mais plano na banda de
passagem, ou seja, não possui ondulações. Este filtro é o único filtro que mantém o mesmo formato para
ordens mais elevadas. Se compararmos o filtro Butterworth com o Chebyshev ou o Elíptico, o filtro de
Butterworth possui uma queda mais lenta o que faz com que tenha de ser implementado com uma ordem
maior para eliminar o ruído desejado. No entanto, o filtro de Butterworth apresentará uma resposta em fase
mais linear na banda de passagem do que os outros filtros mencionados [16].
1https://arxiv.org/pdf/2002.03130.pdf
4.3 Modelação: 17
4.2.2 Chebyshev
O filtro de Chebyshev é utilizado para separar uma banda de frequências de outra. Normalmente têm uma
atenuação de frequência mas íngreme. Existem os filtros de tipo 1, que contêm mais ondulação na banda
de passagem, e os filtros de tipo 2, que têm uma ondulação mais parada do que o filtro de Butterworth [8].
Algumas das características do filtro de Chebyshev estão resumidas de seguida [8]:
• Roll-off: um dos principais aspetos deste filtro é possuir um bom declive na banda de transição.
Atinge o seu ultimo estado de roll-off mais rapidamente do que os outros filtros existentes. Por isso,
onde for necessária uma transição acentuada entre a banda de passagem e a banda de atenuação, o
filtro de Chebyshev é amplamente utilizado.
• Ondulação (Ripple): o filtro Chebyshev fornece um roll-off acentuado mas isso ocorre devido à
ondulação.
• Frequência de corte: Nos filtros Chebyshev o corte é considerado o ponto em que o ganho desce
para o valor da ondulação no tempo final. Isso é visível no diagrama da resposta típica de um filtro
Chebyshev.
• Tipo do filtro Chebyshev: O tipo do filtro Chebyshev tem origem nos cálculos do filtro, que são
baseados em polinómios de Chebyshev. Existem os filtros Chebyshev de tipo I e os filtros Chebyshev
de tipo II. Os filtros de Chebyshev de tipo I são mais comuns do que os de tipo II.
Na próxima secção segue-se uma breve descrição da validação cruzada e dos algoritmos de aprendizagem
computacional.
4.3 Modelação:
4.3.1 Validação cruzada:
A validação cruzada é um método estatístico para avaliar e comparar algoritmos de aprendizagem com-
putacional que avalia a capacidade de generalização de cada modelo. Para isto ser possível, os dados são
divididos em dois conjuntos: um conjunto para treinar o modelo e outro para validar. Geralmente, a distri-
buição dos dados pelos subconjuntos é de 70% para o conjunto de treino e de 30% para o conjunto de teste
[46].
O objetivo da validação cruzada é avaliar a capacidade de previsão do modelo com dados que nunca foram
utilizados antes de forma a obter uma estimativa mais precisa do desempenho da previsão do modelo. Após
o particionamento do conjunto de dados em subconjuntos de treino e teste são realizados múltiplas rondas de
usando diferentes partições e os resultados de validação cruzada das rondas são combinados com os cálculos
da média e desvio padrão [46].
4.3.2 Máquinas de vetores de suporte (SVM)
As máquinas de vetores de suporte (SVM) utilizam um conjunto de métodos de aprendizagem supervisio-
nada para análise e reconhecimento de padrões, o que significa que o conjunto de dados para treinar e testar
18 Conceitos de aprendizagem computacional
são conhecidos a priori [24]. O SVM recebe um conjunto de dados como entrada e, para cada, o objetivo
passa por identificar a classe a que pertence, sendo que, o SVM é um classificador linear binário não pro-
babilístico [40]. Para um conjunto de dados de treino com os dados previamente identificados, isto é, cada
um dos dados do conjunto pertence a uma de duas categorias, o algoritmo de treino do SVM constrói um
modelo para classificar novos exemplos, ou seja, para um conjunto de pontos de duas classes, o objetivo do
algoritmo é decidir qual a classe de um novo ponto dado [50].
Figura 4.2: SVM. Figura adaptada de A brief Introduction to SVM(Support Vector Machine) 2
Cada ponto é visto como um vetor n-dimensional num espaço n-dimensional Rn e pretende-se separar os
pontos de classes diferentes com um hiperplano (n−1) dimensional. Se isto for possível, um classificador
linear é construído, [50] ou seja, o SVM encontra uma linha que separa duas classes designado de hiper-
plano, como podemos observar na figura 4.2, com o objetivo de maximizar a distância entre dois pontos
próximos de cada uma das classes [40]. A distância entre o primeiro ponto de cada classe e o hiperplano
denomina-se de margem.
4.3.3 K-Nearest Neighbors (KNN)
O algoritmo K-Nearest Neighbors (KNN) também é um algoritmo de aprendizagem supervisionada para
análise e reconhecimento de padrões. O KNN baseia-se no cálculo de distâncias entre os elementos do
conjunto de dados de treino, ou seja, calcula a distância de um elemento dado aos elementos do conjunto de
treino. De seguida, ordena os elementos do conjunto de treino dos mais próximos (distância menor) ao mais
afastados (distância maior) como podemos observar na figura 4.3. Após esta ordenação, são selecionados
os primeiros k elementos para serem utilizados como parâmetros na regra de classificação [24].
Para classificar um novo elemento, o KNN, mede a distância (Euclidiana, Manhattan, Minkowski ou Pon-
derada) entre esse elemento com os dados já classificados. Assim, obtém-se as distâncias e são verificadas
2https://medium.com/@srilakshmit3512/a-brief-introduction-to-svm-support-vector-machine-778090b09933
4.3 Modelação: 19
as classes de cada um dos dados que tiveram a menor distância. A classe que mais vezes apareceu entre os
dados mais próximos é o resultado da classificação do novo dado [25].
Figura 4.3: KNN. Figura adaptada de K Nearest neighbor: step by step tutorial 3
4.3.4 Random Forest
Para entender o algoritmo de Random Forest é necessário entender as árvores de decisão.
4.3.4.1 Árvores de decisão:
As árvores de decisão são estruturas de dados, semelhante a um fluxograma, onde as condições são
verificadas nos "nós"e "ramos"para estabelecer as ligações entre os "nós", como podemos ver na figura 4.4.
As árvores de decisão são métodos de aprendizagem supervisionada que ao aprender com o conjunto de
dados, vão-se aproximando de uma curva sinusoidal através de conjunto de regras de decisão [51]. As
árvores dividem um conjunto de dados em subconjuntos cada vez mais pequenos enquanto que, ao mesmo
tempo, uma árvore de decisão associada é desenvolvida de forma incremental. O resultado final é uma
árvore com nós de decisão e nós folha. Um nó de decisão possui dois ou mais ramos. O nó folha representa
uma classificação ou decisão [51].
O algoritmo Random Forest faz parte dos métodos ensemble que são métodos que combinam diferentes mo-
delos para se obter um único resultado. Por serem mais robustos são mais exigentes a nível computacional
[63]. O algoritmo cria várias árvores de decisão. Cada árvore do algoritmo Random Forest é gerada com
base num subconjunto aleatório do conjunto de dados original o que torna cada subconjunto independente
dos outros. Essa aleatoriedade ajuda a reduzir a correlação entre as árvores de decisão, o que significa que
o erro de generalização do método de ensemble pode ser melhorado.
3https://www.listendata.com/2017/12/k-nearest-neighbor-step-by-step-tutorial.html4https://www.analyticsvidhya.com/blog/2020/05/decision-tree-vs-random-forest-algorithm/
20 Conceitos de aprendizagem computacional
Figura 4.4: Random Forest. Figura adaptada de Decision Tree vs. Random Forest – Which Algorithm Shouldyou Use?4
4.3.5 Regressão logística
A regressão logística é um modelo baseado em estatística para classificação. Utiliza um número fixo de
parâmetros que dependem do número de características de entrada e da saída [64]. Pertence ao grupo de
classificadores lineares que fornece funções analíticas [57]. É essencialmente um método de classificação
binária mas pode ser também aplicado a problemas de várias classes.
Na regressão logística são feitos ajustes a uma curva em forma de ’S’, denominada sigmóide, conforme
podemos ver na figura 4.5. A curva é definida pela seguinte fórmula:
sigmoid(x) =1
1+ e−x (4.1)
onde x é a soma ponderada das características de entrada.
Ao calcular esta função obtém-se uma probabilidade (entre 0 e 1) que se pode traduzir à probabilidade de
pertencer a uma das classes [64].
4.3.6 XGBoost
XGBoost ou Extreme Gradient Boosting é uma biblioteca baseado em árvores de decisão que implementa
algoritmos de aprendizado de máquina, sob a estrutura de Gradient Boosting [41]. O algoritmo de Gradient
Boosting treina modelos de acordo com o erro obtido nos modelos anteriores, isto é, em vez de tentar prever
diretamente o objetivo, faz uma previsão do erro de acordo com o erro residual obtido nos modelos anteriores
[15]. Ao executar várias iterações do mesmo processo cada vez obtemos menos erro [15]. Os modelos que
utilizam esta biblioteca têm uma abordagem mais iterativa, ou seja, em vez dos modelos serem treinados
de forma isolada são treinados sucessivamente onde o novo modelo corrige os erros do modelo anterior. A
5https://towardsdatascience.com/logistic-regression-explained-9ee73cede081
4.3 Modelação: 21
Figura 4.5: Regressão logística. Figura adaptada de Logistic Regression Explained 5
vantagem nesta abordagem é que os modelos que vão sendo adicionados focam-se na correção do erro do
anterior ao contrário dos tradicionais métodos ensemble onde os modelos são executados de forma isolada
e, por isso, podem estar sempre a cometer o mesmo erro. Podemos observar o esquema na figura 4.6.
A biblioteca XGBoost é focada em rapidez computacional e no desempenho dos modelos e, por isso, oferece
várias características únicas tais como [54]:
• Regularização: para ajudar a evitar que modelos lineares sobreajustem exemplos de treino, ou seja,
para prevenir o overfitting, o XGBoost tem a capacidade de penalizar valores de peso extremos através
da regularização L1 e L2, onde a regularização L1 reduz o número de características usadas no mo-
delo ao empurrar para zero o peso de características. A regularização L2 resulta em valores de peso
menores, o que estabiliza os pesos quando há alta correlação entre as características.
• Tratamento de dados esparsos: é capaz de lidar com diferentes tipos de padrões de dispersão nos
dados pois incorpora um algoritmo ciente da dispersão.
• Esboço de quantil ponderado: normalmente, os algoritmos baseados em árvore encontram pontos
de divisão quando os dados têm pesos iguais utilizando o algoritmo de esboço de quantis não estando
preparados para lidar com dados ponderados. O XGBoost consegue lidar com dados ponderados de
forma eficaz porque utiliza um algoritmo de esboço de quantil ponderado.
• Estrutura de blocos para aprendizagem paralela: o XGBoost consegue usar vários núcleos do CPU
devido a uma estrutura de bloco no design do sistema do XGBoost, o que permite uma computação
mais rápida.
6https://towardsdatascience.com/a-beginners-guide-to-xgboost-87f5d4c30ed7
22 Conceitos de aprendizagem computacional
Figura 4.6: Esquema de um algoritmo baseado em Gradient Boosting. Figura adaptada de A Beginner’sguide to XGBoost 6
• Reconhecimento de cache: o XGBoost foi concebido para utilizar o hardware de forma otimizada,
ou seja, aloca buffers internos em cada thread para guardar as características do gradiente. Assim, o
acesso contínuo à memória não é necessário para obter as estatísticas de gradiente por índice de linha.
• Computação out-of-core: ao lidar com grandes conjuntos de dados que ultrapassam a memória, este
recurso permite otimizar o espaço em disco disponível e maximizar seu uso.
4.3.7 LightGBM
Tal como o XGBoost, o LightGBM é uma ferramenta que utiliza gradient boosting e os seus algoritmos são
baseados em aprendizagem de árvore [31]. O LightGBM possui as seguintes vantagens [31]:
• Velocidade de treino menor e maior eficiência
• Menor consumo de memória
• Melhor rigor
• Suporta aprendizagem paralela e GPU
• É capaz de lidar com uma enorme quantidade de dados
A diferença entre XGBoost e LightGBM são as especificidades das otimizações, por exemplo, o algoritmo
LightGBM contém parâmetros que permite escolher como é realizado o crescimento da árvore. Na figura 4.7
apresenta-se a diferença do crescimento em árvore de ambos os algoritmos.
4.3 Modelação: 23
Figura 4.7: Crescimento de árvore XGBoost vs LightGBM. Figura adaptada de XGBoost, LightGBM orCatBoost — which boosting algorithm should I use? 7
4.3.8 Redes neuronais artificiais (ANN)
As redes neuronais artificiais apresentam um modelo matemático inspirado no sistema nervoso, nomeada-
mente nos neurónios, ou seja, simulam o sistema nervoso através da modelação de sistemas com várias
unidades de processamento, normalmente ligadas por canais de comunicação com um determinado peso as-
sociado e com a capacidade de adquirir conhecimento através da experiência [11]. Podemos ver um exemplo
na figura 4.8.
As redes neuronais artificiais são utilizadas para solucionar problemas de inteligência artificial, geralmente
usadas no reconhecimento de padrões. As redes neuronais conseguem calcular qualquer função computa-
cionalmente possível, ou seja, têm a capacidade para modelar relações lineares e não lineares. De seguida,
apresentam-se as principais características das redes neuronais artificiais [56]:
• Capacidade de aprender e de generalizar a aprendizagem de forma a identificar elementos novos e
idênticos;
• Bom desempenho em tarefas com escassez de conhecimento explícito para resolução;
• Integridade do conjunto de treino;
• Credibilidade do conjunto de treino, isto é, quando uma rede neuronal é utilizada para classificar
padrões, a rede neuronal pode informar sobre os padrões que devem ser selecionados em função do
grau de confiança fornecido;
• Possui tolerância a falhas.
7https://medium.com/riskified-technology/xgboost-lightgbm-or-catboost-which-boosting-algorithm-should-i-use-e7fda7bb36bc
8https://www.inteligenciaartificial.me/astronomos-usam-inteligencia-artificial-para-mapear-6-mil-crateras-na-lua/rede-neural-ia/
24 Conceitos de aprendizagem computacional
Figura 4.8: Esquema de uma rede neuronal. Figura adaptada de Inteligência artificial: Portal da Tecnologia.8
4.4 Avaliação:
Para saber se um modelo de aprendizagem computacional atende aos requisitos necessários existem métricas
a ser utilizadas [28]. A avaliação, no caso de uma classificação binária, é realizada com a comparação entre
as classes verdadeiras e as classes preditas de cada exemplo [28]. De seguida são apresentadas as métricas
utilizadas nesta dissertação, começando pela matriz de confusão. A matriz de confusão é uma forma simples
para visualizar quantos exemplos foram bem ou mal classificados em cada classe [28].
De seguida apresenta se a definição de cada célula da tabela 4.1 [60]:
• Verdadeiro Positivo (TP): quando no conjunto real a classe que estamos a prever é prevista correta-
mente. No caso desta dissertação, acontece quando um som tem um sopro e o modelo prevê que esse
som possui um sopro;
• Falso Positivo (FP): quando no conjunto real a classe que estamos a prever é prevista incorretamente.
No caso desta dissertação, acontece quando um som não tem sopro mas o modelo prevê que tem;
• Verdadeiro Negativo (TN): ocorre quando no conjunto real a classe que não estamos a prever é
prevista corretamente. No caso desta dissertação acontece quando um som não tem sopro e o modelo
prevê que não tem sopro;
Tabela 4.1: Matriz de confusão
Valor preditoSim Não
Sim Verdadeiro Positivo(TP)
Falso Negativo(FN)
Rea
l
Não Falso Positivo(FP)
Verdadeiro Negativo(TN)
4.4 Avaliação: 25
• Falso Negativo (FN): ocorre quando no conjunto real a classe que estamos a prever é prevista incor-
retamente. No caso desta dissertação acontece quando um som tem um sopro e o modelo prevê que o
som não tem sopro.
Através da matriz de confusão conseguimos obter as métricas que irão ser explicadas de seguida.
4.4.1 Accuracy:
A accuracy [49] é a métrica que diz quando o modelo acerta nas previsões. Por exemplo, se o modelo obter
uma accuracy de 80% significa que em 10 acerta 8 previsões. Traduz-se na seguinte fórmula:
accuracy =T P+T N
T P+T N +FP+FN=
previsões corretastodas as previsões
(4.2)
onde:
TP é a quantidade de verdadeiros positivos True Positives
TN é a quantidade de verdadeiros negativos True Negatives
FP é a quantidade de falsos positivos False Positives
FN é a quantidade de falsos negativos False Negatives
4.4.2 Precision:
A precision [49] é a métrica que nos indica previsões daquela classe está correta. No caso desta dissertação,
é a habilidade do classificador não prever um sopro negativo como um sopro positivo. É dada pela seguinte
equação:
precision =T P
T P+FP(4.3)
onde:
TP é a quantidade de verdadeiros positivos True Positives
FP é a quantidade de falsos positivos False Positives
4.4.3 Recall:
Recall ou sensitivity [49] é a métrica que relaciona o número de elementos positivos corretamente previstos
com o número total de elementos positivos. Traduz-se na equação seguinte, onde o número de positivos
verdadeiros é divido pelo número de elementos que deviam ser parte daquela classe.
recall =T P
T P+FN(4.4)
onde:
TP é a quantidade de verdadeiros positivos True Positives
26 Conceitos de aprendizagem computacional
FN é a quantidade de falsos negativos False Negatives
4.4.4 F1-Score:
A métrica F1-score [49] é uma média harmónica entre precision e recall sendo que o melhor corresponde a
1.0 e o pior a 0.0. Traduz-se pela seguinte equação:
f-score = 2∗ precision∗ recallprecision+ recall
(4.5)
Capítulo 5
Metodologia
Neste capítulo é apresentado o conjunto de dados utilizado sendo seguido por uma visão geral da meto-
dologia. Posteriormente entra-se em detalhe na metodologia, começando pelo pré-processamento onde se
explica como foram os filtros utilizados, seguindo-se para a extração e normalização de características e
posteriormente como foram utilizados os algoritmos de aprendizagem computacional.
5.1 Dados utilizados
O conjunto de dados foi recolhido, na sua totalidade, em rastreios feitos pela Caravana do Coração – uma
ação que consiste na execução de rastreios, consultas com cardiologistas e testes especializados e que pro-
move a despistagem de patologias cardíacas [18]. Os rastreios foram feitos no Brasil, no estado do Pernam-
buco, em 2014 e 2015, e durante esta campanha de rastreio todos os participantes que apareciam voluntari-
amente eram incluídos, mas os pacientes com menos de 21 anos precisavam de um consentimento parental
assinado. Como parte do protocolo todos os participantes completaram questionários sociodemográficos e
foram analisados sendo feita uma examinação clínica (física e mental), uma triagem (medidas fisiológicas)
e investigações cardíacas (radiografia, eletrocardiograma e ecocardiograma). Adicionalmente foram feitas
auscultações eletrónicas, a cada um dos pacientes, em quatro dos principais pontos de auscultação sendo
recolhida uma amostra individual do áudio, de cada um dos pontos de auscultação, para posterior análise.
O conjunto de dados utilizado contem 687 pacientes, dos quais 545 (70.3%) possuem um batimento car-
díaco normal, o que corresponde a 2180 sons e 142 (20.7%) estão identificados com sopro cardíaco, o que
corresponde a 568 sons. O dataset foi recolhido no âmbito do projeto DigiScope 2.0 e a equipa verificou
que as anotações feitas inicialmente estavam rudimentares. Desta forma, decidiram contratar uma aluna de
medicina para fazer anotações ao dataset e uma das anotações feitas é de qual dos focos se onde melhor o
sopro e os resultados da análise feita a 81 pacientes, estão apresentados na tabela 5.1.
A tabela 5.1 apresenta o número de vezes que cada foco de auscultação foi considerado como o foco mais
audível, onde se verifica que o foco ’AV’ é o foco que aparece menos vezes como mais audível e o foco
’MV’ é o que aparece mais vezes como mais audível. Para a elaboração desta dissertação vão ser utilizados
os sinais de todos os focos de auscultação com várias combinações.
27
28 Metodologia
Tabela 5.1: Número de vezes que cada foco de auscultação foi considerado como o foco mais audível
QuantidadeAV 13MV 20PV 31TV 17
5.2 Visão geral
Figura 5.1: Diagrama do esquema da metodologia
Para resolver o problema inicial desta dissertação, ou seja, classificar o batimento cardíaco de pacientes
pediátricos, foi decidido construir uma metodologia que engloba fases do processamento de sinal. Para
isso cada uma das etapas do processamento de sinal foi construída individualmente, de forma a serem
testadas as funcionalidades de cada parte antes de se testar em conjunto. O esquema da metodologia pode
ser observado na figura 5.1.
Na primeira fase da metodologia, o pré-processamento, foram utilizados dois filtros de impulso infinito:
o filtro de Butterworth 4.2.1 e o filtro de Chebyshev 4.2.2 e, além de terem sido utilizados estes filtros,
também foram feitas experiências sem qualquer tipo de filtragem.
5.3 Pré-processamento 29
Após a filtragem dos dados seguimos para a fase de extração de características. Foram extraídas caracte-
rísticas do domínio temporal (média, desvio padrão e amplitude) e MFCCs (Mel frequency Cepstral Co-
efficients). No total foram extraídas 14 características de cada som, que serão detalhadas na secção 5.4 e
após a sua extração foi feita uma normalização usando o z-score [37] e o Cepstral Mean and Variance Nor-
malization [21]. Seguido da normalização das características extraídas foram executados vários algoritmos
de aprendizagem computacional, nomeadamente, SVM, KNN, ANN, XGBoost, lightGBM, random rorest e
regressão linear.
Assim que cada etapa individual da cadeia foi concluída, foi construída a cadeia na totalidade e começaram
as experiências e como era possível dividir de acordo com o foco de auscultação utilizado, foi exequível
fazer combinações de acordo com o foco de auscultação, como por exemplo, o foco mitral com o foco
aórtico.
Depois de obtidos resultados da classificação do som cardíaco de cada algoritmo será necessário combinar
os resultados do som de forma a obter a classificação do paciente e, após serem obtidos os resultados das
classificações dos pacientes, são calculadas as métricas de avaliação de cada algoritmo. De seguida, cada
etapa da metodologia será detalhada.
5.3 Pré-processamento
Os dados gravados incluem ruído dispensável que pode ser retirado para ser possível melhorar a extração de
características. Para suprimir as interferências dos sinais do som cardíaco será necessário remover algumas
das frequências. Sabe-se que a frequência do batimento cardíaco está entre 0 Hz e 200 Hz, portanto as
frequências acima de 200 Hz são consideradas ruído.
Para se remover o ruído foram utilizados o filtro IRR de Butterworth e o filtro IRR de Chebyshev, de tipo
I e, tendo em conta que a frequência do S1 e S2, normalmente, está entre 30-80 Hz [23], foi utilizado com
ambos os filtros um filtro passa-baixo, com ordem 5 e com uma frequência de corte de 100Hz. Os filtros
foram utilizados em experiências diferentes sendo também efetuadas experiências sem filtro.
Os resultados da aplicação do filtro de Butterworth a um dos sons é visível na figura 5.3 e os resultados da
aplicação do filtro de Chebyshev de tipo I ao mesmo som é visível na figura 5.3
Figura 5.2: Exemplo do filtro de But-terworth aplicado a um som cardíaco
Figura 5.3: Exemplo do filtro deChebyshev aplicado a um som cardíaco
30 Metodologia
Após a remoção de ruído dos sons cardíacos, segue-se para a recolha de características do som.
5.4 Extração e normalização de características
A extração e seleção de características são tarefas cruciais. Afetam significativamente o desempenho do
modelo de aprendizagem computacional [27]. No desenvolvimento desta dissertação foram utilizadas as
seguintes características, sendo esta escolha baseada no artigo de Liu et al[32]:
• Características de domínio frequência/tempo:
– Média dos intervalos S1
– Desvio padrão dos intervalos S1
– Amplitude dos intervalos S1
– Média dos intervalos sistólicos
– Desvio padrão dos intervalos sistólicos
– Amplitude dos intervalos sistólicos
– Média dos intervalos S2
– Desvio padrão dos intervalos S2
– Amplitude dos intervalos S2
– Média dos intervalos diastólicos
– Desvio padrão dos intervalos diastólicos
– Amplitude dos intervalos diastólicos
• Características perceptuais:
– MFCCs: para a extração dos MFCCs, foi escolhida uma janela de 25ms e um passo de 10ms e
foram calculados um total de 5MFCC por janela
Após a extração das características dos sons passa-se para o próximo passo: a normalização. Para normalizar
as características extraídas nesta dissertação recorreu-se à normalização z-score dada pela seguinte fórmula:
Z =value−µ
σ
onde:
µ é o valor médio da característica,
σ é o desvio padrão da característica,
Z é o valor normalizado.
5.5 Algoritmos de aprendizagem computacional 31
Caso um valor for exatamente igual à média de todos os valores da característica, será igual a 0. Caso o
valor seja inferior à média, vai ser um valor negativo e caso seja acima da média vai ser um valor positivo.
O tamanho do valor positivo ou negativo é determinado pelo desvio padrão da característica original [38].
Após a normalização segue-se para a etapa seguinte onde os algoritmos de aprendizagem computacional
serão aplicados.
5.5 Algoritmos de aprendizagem computacional
Para serem aplicados os algoritmos de aprendizagem computacional, o conjunto de sons foram previamente
divididas em conjunto de treino e teste e também combinados de acordo com o foco cardíaco. Irão ser
utilizados os acrónimos ’AV’, ’MV’, ’PV’ e ’TV’ que correspondem, respetivamente, ao foco aórtico, foco
mitral, foco pulmonar e foco tricúspide. Desta forma, foram obtidas as seguintes combinações:
• Sem filtro
– Quatro canais (AVMVTVPV)
– Três canais (AVMVTV, AVMVPV, MVTVPV, AVTVPV)
– Dois canais (AVMV, AVTV, AVPV, MVTV, MVPV, TVPV)
– Um canal (AV, MV, TV, PV)
• Butterworth
– Quatro canais (AVMVTVPV)
– Três canais (AVMVTV, AVMVPV, MVTVPV, AVTVPV)
– Dois canais (AVMV, AVTV, AVPV, MVTV, MVPV, TVPV)
– Um canal (AV, MV, TV, PV)
• Chebyshev
– Quatro canais (AVMVTVPV)
– Três canais (AVMVTV, AVMVPV, MVTVPV, AVTVPV)
– Dois canais (AVMV, AVTV, AVPV, MVTV, MVPV, TVPV)
– Um canal (AV, MV, TV, PV)
Do pré-processamento resultaram três tipos de sons: os sons filtrados com o filtro Butterworth, os sons
filtrados com o filtro Chebyshev e os sons sem filtragem. Após serem agrupadas as características de acordo
com a combinação de focos, foram divididas três vezes em conjunto de treino e teste. Para se dividir em
conjunto de treino e teste, inicialmente foram colocados todos os sons com sopro cardíaco numa lista e os
sons sem sopro cardíaco noutra lista. Para o conjunto de treino foram retirados 70% dos sons da lista de
sopro e outros 70% da lista de sons sem sopro ficando os restante 30% de cada lista para o conjunto de
teste. Assim, consegue-se obter a distribuição global no conjunto de teste e, com os conjuntos de treino e
32 Metodologia
teste devidamente formados e de seguida, os algoritmos de aprendizagem computacional seguintes foram
utilizados:
• Máquinas de vetores de suporte (SVM)
• K-Nearest Neighbors (KNN)
• Regressão logística
• XGBoost
• LightGBM
• Random Forest
• Rede neuronal artificial (ANN)
Para cada combinação de canais foi utilizada a função GridSearchCV() [20] para escolher o melhor con-
junto de parâmetros, em todos os algoritmos. Esta função consiste em analisar múltiplas combinações de
parâmetros e no fim escolhe a combinação que teve melhor resultado. Depois de combinados os parâmetros
e de escolhido o melhor conjunto, passa-se para o ajustamento do modelo de acordo com os dados de treino
fornecidos. Para finalizar, a previsão de cada algoritmo quando ao som é guardada num ficheiro .csv para
posteriormente se proceder à combinação dos focos cardíacos de forma a classificar um paciente.
Cada algoritmo faz uma previsão para os sons de cada foco de auscultação e, de seguida, os sons que
correspondem a um paciente têm de ser combinados. Para se combinar as previsões foi utilizado um sistema
de voto seguindo a regra "Se pelo menos um som do paciente for classificado com sopro cardíaco, o paciente
tem sopro cardíaco", por exemplo, se com a combinação ’AVPVTV’ o som 1234_AV tiver sido classificada
com um sopro, o som 1234_PV tiver sido classificado sem sopro e o som 1234_TV tiver sido classificado
sem sopro o paciente 1234 será classificado com sopro.
Os resultados desta combinação foram guardados num ficheiro .csv. E, para finalizar e avaliar o modelo
são calculadas as métricas de avaliação de modelos de classificação, de forma mais exata: accuracy 4.4.1,
precision 4.4.2, recall 4.4.3 e f1-score 4.4.4, e os seus valores são guardados em ficheiros .csv.
Capítulo 6
Experiências e Resultados
Neste capítulo são apresentados os resultados das experiências elaboradas durante o desenvolvimento desta
dissertação. São expostos, inicialmente, os resultados da performance geral dos algoritmos em todos os
focos de auscultação, seguindo-se para uma exibição da performance dos algoritmos num conjunto de focos
de auscultação.
Como foi referido anteriormente, as experiências foram elaboradas com o filtro de Butterworth, o filtro de
Chebyshev e sem filtro. No entanto, não foram verificadas diferenças significativas nos resultados entre os
diferentes tipos de filtragem de forma que todos os resultados apresentados nesta dissertação serão relativos
apenas ao filtro do Butterworth.
Os resultados obtidos pelos algoritmos da métrica de precision são apresentados no gráfico 6.1 onde
podemos observar que a média de valores se encontra entre 0.76 e 0.88. Isto significa que dos sopros
classificados como positivos, 76% a 88% são realmente sopros positivos.
33
34 Experiências e Resultados
Figura 6.1: Variação média da métrica precision de acordo com o número de focos de auscultação em todosos algoritmos utilizados
Figura 6.2: Variação média da métrica accuracy de acordo com o número de focos de auscultação em todosos algoritmos utilizados
Os resultados obtidos pelos algoritmos da métrica de accuracy são apresentados no gráfico 6.2 onde
podemos observar que a média de valores se encontra entre 0.74 e 0.86. Isto significa que em 100
classificações, os algoritmos acertam entre 74 a 86.
Os resultados obtidos pelos algoritmos da métrica de recall são apresentados no gráfico 6.3 onde podemos
observar que a média de valores se encontra entre 0.90 e 1.0. Significa isto que, dos sopros classificados
como positivos 90% a 100% foram classificados corretamente pelo modelo. O valor desta métrica encontra-
Experiências e Resultados 35
se elevado devido à sensibilidade da regra de combinação de focos, pois basta um dos quatro focos ser
classificado com sopro que o paciente é classificado com sopro.
Figura 6.3: Variação média da métrica recall de acordo com o número de focos de auscultação em todos osalgoritmos utilizados
Os resultados obtidos pelos algoritmos da métrica de f1-score são apresentados no gráfico 6.4 onde
podemos observar que a média de valores se encontra entre 0.85 e 0.92. A métrica de f1-score é uma média
harmónica entre a métrica de precision e recall sendo neste problema a métrica mais fiável das quatro pois
a distribuição das classes dos dados utilizados não é igual.
Figura 6.4: Variação média da métrica f1-score de acordo com o número de focos de auscultação em todosos algoritmos utilizados
36 Experiências e Resultados
Ao analisar os resultados obtidos no geral, nota se o aumento do número de focos nem sempre significa
melhores resultados. Os resultados melhores foram obtidos, em quase todos os algoritmos utilizados, na
combinação de dois focos, nomeadamente no foco ’MVPV’ e ’PVTV’. Depois da combinação de dois
focos o resultados melhores foram obtidos com a combinação de três focos.
Além dessa observação, a variação dos resultados obtidos com os algoritmos quando utilizam apenas um
foco de auscultação é maior do que com o uso de todas as combinações de focos. Isto significa que a im-
portância do algortimo escolhido diminui com o aumento do número de focos pois os valores dos resultados
obtidos com a combinação de quatro focos é muito mais próxima entre os algoritmos do que os resultados
obtidos quando se usa apenas um foco. De seguida, serão analisados os resultados da métrica f1-score em
cada conjunto de focos de auscultação.
Na figura 6.5 é possível observar em detalhe a diferença de resultados, entre os algoritmos utilizados, obtidos
pela métrica f1-score quando são utilizados os quatro focos de auscultação e verifica-se que os valores
encontram-se muito próximos. A diferença entre o valor menor alcançado e o valor maior é de 3%.
Figura 6.5: Variação da métrica f1-score em todos os algoritmos utilizados com quatro focos de auscultaçãoe o seu respetivo desvio padrão
Na figura 6.6 encontram-se os resultados obtidos pela métrica f1-score quando se utilizam os três focos de
auscultação. Ao observar o gráfico, encontra-se mais variabilidade do que quando se utilizavam os quatro
focos de auscultação. A diferença entre o valor maior alcançado e o valor menor é de aproximadamente 6%.
Além desta observação, verifica-se que os resultados de maior valor são encontrados com a combinação de
focos ’AVMVPV’.
Experiências e Resultados 37
Figura 6.6: Variação da métrica f1-score em todos os algoritmos utilizados com três focos de auscultação eo seu respetivo desvio padrão
Na figura 6.7 encontram-se os resultados obtidos pela métrica f1-score quando se utilizam os dois focos de
auscultação. Repara-se que os valores têm maior variabilidade do que com três e quatro focos. A diferença
entre o valor menor e o maior alcançados é de aproximadamente 9%. Verifica-se que a combinação que
obteve resultados de maior valor foi a combinação de ’MVPV’, seguida da combinação ’PVTV’.
Figura 6.7: Variação da métrica f1-score em todos os algoritmos utilizados com dois focos de auscultação eo seu respetivo desvio padrão
Na figura 6.8 encontram-se os resultados obtidos pela métrica f1-score quando se utiliza um foco de auscul-
tação. Ao observar a variabilidade entre os algoritmos nota-se que é maior do que com dois, três ou quatro
focos de auscultação sendo a diferença entre o valor maior e o menor de aproximadamente 11%. O foco que
obteve resultados com valores maiores foi o foco ’MV’.
38 Experiências e Resultados
Assim, é possível concluir que a escolha do algoritmo a ser usado é mais importante com um número menor
de focos do que com um número maior de focos.
Figura 6.8: Variação da métrica f1-score em todos os algoritmos utilizados com um foco de auscultação e oseu respetivo desvio padrão
Os restantes gráficos e as tabelas com os valores detalhados de todas as experiências encontram-se nos
anexos onde é possível encontrar os resultados das métricas accuracy, precision e recall no anexo A.1. No
anexo A.2 encontra-se a análise de forma individual de cada algoritmo utilizado e, por fim, as tabelas A.3
com os resultados obtidos de todas as experiências.
Capítulo 7
Conclusões e trabalho futuro
Esta dissertação tinha como objetivo inicial detetar sopro cardíaco com base em auscultação em pacientes
pediátricos. Para este problema ser resolvido foram elaboradas experiências com diferentes filtros, diferentes
combinações de sons extraídos de diferentes focos de auscultação e diversos algoritmos de aprendizagem
computacional.
Ao analisar os resultados obtidos, pode-se concluir que com o aumento do número de focos de auscultação
nas experiências diminuiu a diferença de resultados entre os algoritmos de aprendizagem computacional
utilizados, o que significa que a importância da escolha de algoritmo diminui com o aumento do número de
focos de auscultação utilizados. A performance de todos os algoritmos, quando são utilizados quatro focos
de auscultação contém valores aproximados. Este facto pode ser indicador de que a escolha do algoritmo,
neste caso, não é tão relevante como quando se utiliza apenas um foco de auscultação.
Verificou-se que os melhores valores obtidos nos resultados obtidos pelas métricas de classificação da
maioria dos algoritmos corresponderam à combinação ’MVPV’. Ao relacionar estas combinações com o
conjunto de dados utilizado 5.1, verifica-se que o foco ’PV’ é o foco que aparece mais vezes como sopro
mais audível e o ’MV’ aparece em segundo lugar. Neste sentido, existe a hipótese que ao combinar focos
onde o sopro seja mais audível, obtém-se melhores resultados do que se forem utilizados focos onde o sopro
não seja tão audível. Observa-se que o foco que aparece menos vezes como foco mais audível é o foco ’AV’
e quando são feitas combinações com este foco obtém-se resultados mais baixos. Existe a possibilidade
que, em crianças, os focos ’MV’, ’PV’, ’TV’ serem os mais importantes tendo em conta as patologias da
população em estudo.
Por fim, com os resultados obtidos pode-se concluir que utilizar algoritmos de aprendizagem computacional
é uma boa estratégia para este tipo de problema. O objetivo inicial desta dissertação foi alcançado mas
há sempre espaço para melhorarias. Apesar de ter sido elaborada uma cadeia com pré-processamento,
extração de características e aplicação de algoritmos de aprendizagem computacional de onde apenas se
tem de fornecer os dados de entrada, a combinação dos resultados para classificar o paciente foi elaborada
separadamente. Uma das melhorias seria adicionar esta etapa à cadeia de forma a se obter os resultados
finais de todos os algoritmos e das classificações dos pacientes. Além disto, com o conjunto de dados
39
40 Conclusões e trabalho futuro
utilizado seria possível, não só fazer a classificação binária do sopro, mas também ser possível associar ao
sopro um conjunto de patologias possíveis. E, por fim, adicionar variáveis descritivas como o peso, a idade
de forma a ver se existe algum padrão entre essas variáveis descritivas e o sopro existente.
Anexo A
Anexos
A.1 Análise multi-foco
A.1.1 Quatro focos de auscultação
Figura A.1: Variação da métrica accuracy em todos os algoritmos utilizados com quatro focos de ausculta-ção
41
42 Anexos
Figura A.2: Variação da métrica precision em todos os algoritmos utilizados com quatro focos de ausculta-ção
Figura A.3: Variação da métrica recall em todos os algoritmos utilizados com quatro focos de auscultação
A.1 Análise multi-foco 43
A.1.2 Três focos de auscultação
Figura A.4: Variação da métrica accuracy em todos os algoritmos utilizados com três focos de auscultação
Figura A.5: Variação da métrica precision em todos os algoritmos utilizados com três focos de auscultação
44 Anexos
Figura A.6: Variação da métrica recall em todos os algoritmos utilizados com três focos de auscultação
A.1.3 Dois focos de auscultação
Figura A.7: Variação da métrica accuracy em todos os algoritmos utilizados com dois focos de auscultação
A.1 Análise multi-foco 45
Figura A.8: Variação da métrica precision-2 em todos os algoritmos utilizados com dois focos de auscultação
Figura A.9: Variação da métrica recall em todos os algoritmos utilizados com dois focos de auscultação
46 Anexos
A.1.4 Um foco de auscultação
Figura A.10: Variação da métrica accuracy em todos os algoritmos utilizados com com foco de auscultação
Figura A.11: Variação da métrica precision em todos os algoritmos utilizados com com foco de auscultação
A.2 Análise por algoritmo 47
Figura A.12: Variação da métrica recall em todos os algoritmos utilizados com com foco de auscultação
A.2 Análise por algoritmo
A.2.1 Precision
Figura A.13: Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo KNN.
48 Anexos
Figura A.14: Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo ANN.
Figura A.15: Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo RandomForest.
A.2 Análise por algoritmo 49
Figura A.16: Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo SVM.
Figura A.17: Evolução da métrica precision com o aumento dos focos de auscultação do algoritmoLightGBM.
50 Anexos
Figura A.18: Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo LogisticRegresion
Figura A.19: Evolução da métrica precision com o aumento dos focos de auscultação do algoritmo XGBoost
A.2 Análise por algoritmo 51
A.2.2 Accuracy
Figura A.20: Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo KNN.
Figura A.21: Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo ANN.
52 Anexos
Figura A.22: Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo RandomForest.
Figura A.23: Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo SVM.
A.2 Análise por algoritmo 53
Figura A.24: Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmoLightGBM.
Figura A.25: Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo LogisticRegresion
54 Anexos
Figura A.26: Evolução da métrica accuracy com o aumento dos focos de auscultação do algoritmo XGBoost
A.2 Análise por algoritmo 55
A.2.3 Recall
Figura A.27: Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo KNN.
Figura A.28: Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo ANN.
56 Anexos
Figura A.29: Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo RandomForest.
Figura A.30: Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo SVM.
A.2 Análise por algoritmo 57
Figura A.31: Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo LightGBM.
Figura A.32: Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo LogisticRegresion
58 Anexos
Figura A.33: Evolução da métrica recall com o aumento dos focos de auscultação do algoritmo XGBoost
A.2 Análise por algoritmo 59
A.2.4 F1-Score
Figura A.34: Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo KNN.
Figura A.35: Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo ANN.
60 Anexos
Figura A.36: Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo RandomForest.
Figura A.37: Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo SVM.
A.2 Análise por algoritmo 61
Figura A.38: Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmoLightGBM.
Figura A.39: Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo LogisticRegresion
62 Anexos
Figura A.40: Evolução da métrica f1-score com o aumento dos focos de auscultação do algoritmo XGBoost
A.3 Tabelas de resultados 63
Tabela A.1: Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação AV
Algorithm Precision Recall F1-Score AccuracyKNN 0.768 ± 0.006 0.977 ± 0.025 0.860 ± 0.007 0.758 ± 0.010ANN 0.809 ± 0.017 0.954 ± 0.018 0.876 ± 0.017 0.794 ± 0.027Logistic regression 0.812 ± 0.010 0.939 ± 0.036 0.871 ± 0.020 0.789 ± 0.031SVM 0.799 ± 0.008 0.966 ± 0.009 0.874 ± 0.007 0.789 ± 0.015LightGBM 0.795 ± 0.006 0.943 ± 0.016 0.863 ± 0.003 0.772 ± 0.006XGBoost 0.797 ± 0.009 0.955 ± 0.025 0.869 ± 0.005 0.781 ± 0.005Random Forest 0.79 ± 0.004 0.974 ± 0.011 0.872 ± 0.002 0.784 ± 0.004
A.3 Tabelas de resultados
Tabela A.2: Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação MV
Algorithm Precision Recall F1-Score AccuracyKNN 0.793 ± 0.029 0.976 ± 0.026 0.874 ± 0.017 0.786 ± 0.025ANN 0.818 ± 0.013 0.954 ± 0.039 0.881 ± 0.023 0.802 ± 0.040Logistic regression 0.821 ± 0.002 0.969 ± 0.013 0.889 ± 0.006 0.815 ± 0.016SVM 0.822 ± 0.006 0.992 ± 0.005 0.900 ± 0.005 0.83 ± 0.013LightGBM 0.818 ± 0.021 0.969 ± 0.014 0.887 ± 0.014 0.81 ± 0.024XGBoost 0.819 ± 0.013 0.976 ± 0.033 0.891 ± 0.021 0.817 ± 0.034Random Forest 0.808 ± 0.016 0.988 ± 0.017 0.889 ± 0.013 0.81 ± 0.020
64 Anexos
Tabela A.3: Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação PV
Algorithm Precision Recall F1-Score AccuracyKNN 0.779 ± 0.072 0.989 ± 0.008 0.87 ± 0.048 0.782 ± 0.067ANN 0.806 ± 0.069 0.955 ± 0.004 0.873 ± 0.043 0.795 ± 0.056Logistic regression 0.827 ± 0.072 0.965 ± 0.007 0.889 ± 0.042 0.822 ± 0.057SVM 0.805 ± 0.072 0.986 ± 0.012 0.884 ± 0.039 0.809 ± 0.056LightGBM 0.805 ± 0.064 0.96 ± 0.015 0.874 ± 0,036 0.796 ± 0.046XGBoost 0.805 ± 0.057 0.944 ± 0.012 0.868 ± 0.036 0.789 ± 0.042Random Forest 0.798 ± 0.057 0.975 ± 0.006 0.876 ± 0.033 0.796 ± 0.041
Tabela A.4: Resumo dos resultados obtidos com todos os algoritmos e o foco de auscultação TV
Algorithm Precision Recall F1-Score AccuracyKNN 0.774 ± 0.001 0.981 ± 0.007 0.866 ± 0.002 0.769 ± 0.001ANN 0.842 ± 0.023 0.949 ± 0.018 0.892 ± 0.017 0.819 ± 0.021Logistic regression 0.822 ± 0.04 0.941 ± 0.032 0.876 ± 0.018 0.792 ± 0.025SVM 0.829 ± 0.026 0.977 ± 0.018 0.897 ± 0.019 0.825 ± 0.025LightGBM 0.822 ± 0.025 0.941 ± 0.024 0.877 ± 0.005 0.793 ± 0.002XGBoost 0.825 ± 0.021 0.923 ± 0.025 0.87 ± 0.007 0.785 ± 0.004Random Forest 0.814 ± 0.032 0.955 ± 0.025 0.878 ± 0.009 0.792 ± 0.011
Tabela A.5: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVMV
Algorithm Precision Recall F1-Score AccuracyKNN 0.768 ± 0.005 0.998 ± 0.003 0.868 ± 0.002 0.771 ± 0.005ANN 0.812 ± 0.006 0.908 ± 0.034 0.857 ± 0.018 0.772 ± 0.027Logistic regression 0.827 ± 0.002 0.977 ± 0.014 0.896 ± 0.007 0.829 ± 0.011SVM 0.814 ± 0.002 0.993 ± 0.006 0.895 ± 0.002 0.824 ± 0.005LightGBM 0.803 ± 0.005 0.941 ± 0.016 0.866 ± 0.004 0.781 ± 0.004XGBoost 0.811 ± 0.009 0.912 ± 0.008 0.858 ± 0.008 0.773 ± 0.013Random Forest 0.791 ± 0.007 0.98 ± 0.01 0.875 ± 0.02 0.79 ± 0.006
A.3 Tabelas de resultados 65
Tabela A.6: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVPV
Algorithm Precision Recall F1-Score AccuracyKNN 0.773 ± 0.02 0.965 ± 0.016 0.858 ± 0.011 0.761 ± 0.019ANN 0.823 ± 0.017 0.929 ± 0.028 0.873 ± 0.02 0.797 ± 0.028Logistic regression 0.83 ± 0.022 0.956 ± 0.01 0.888 ± 0.008 0.819 ± 0.015SVM 0.831 ± 0.018 0.968 ± 0.007 0.894 ± 0.008 0.828 ± 0.013LightGBM 0.811 ± 0.016 0.948 ± 0.008 0.874 ± 0.011 0.795 ± 0.017XGBoost 0.813 ± 0.022 0.929 ± 0.018 0.867 ± 0.017 0.786 ± 0.026Random Forest 0.798 ± 0.009 0.973 ± 0.005 0.877 ± 0.0795 0.795 ± 0.007
Tabela A.7: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVTV
Algorithm Precision Recall F1-Score AccuracyKNN 0.794 ± 0.021 0.977 ± 0.001 0.876 ± 0.013 0.786 ± 0.022ANN 0.819 ± 0.017 0.944 ± 0.018 0.878 ± 0.018 0.795 ± 0.027Logistic regression 0.821 ± 0.012 0.962 ± 0.001 0.886 ± 0.007 0.807 ± 0.01SVM 0.824 ± 0.012 0.99 ± 0.003 0.899 ± 0.006 0.829 ± 0.008LightGBM 0.814 ± 0.007 0.944 ± 0.003 0.874 ± 0.003 0.79 ± 0.002XGBoost 0.819 ± 0.006 0.942 ± 0.006 0.876 ± 0.001 0.794 ± 0.001Random Forest 0.815 ± 0.01 0.974 ± 0.008 0.888 ± 0.009 0.809 ± 0.013
Tabela A.8: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação MVPV
Algorithm Precision Recall F1-Score AccuracyKNN 0.818 ± 0.015 0.996 ± 0.003 0.898 ± 0.01 0.821 ± 0.017ANN 0.857 ± 0.018 0.951 ± 0.015 0.902 ± 0.012 0.835 ± 0.02Logistic regression 0.867 ± 0.026 0.967 ± 0.021 0.914 ± 0.022 0.857 ± 0.036SVM 0.853 ± 0.017 0.984 ± 0.011 0.913 ± 0.009 0.852 ± 0.015LightGBM 0.858 ± 0.006 0.946 ± 0.008 0.9 ± 0.007 0.834 ± 0.009XGBoost 0.85 ± 0.019 0.934 ± 0.037 0.89 ± 0.026 0.818 ± 0.038Random Forest 0.838 ± 0.012 0.988 ± 0.005 0.907 ± 0.007 0.839 ± 0.012
66 Anexos
Tabela A.9: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação MVTV
Algorithm Precision Recall F1-Score AccuracyKNN 0.799 ± 0.013 0.991 ± 0.006 0.885 ± 0.007 0.801 ± 0.01ANN 0.838 ± 0.003 0.965 ± 0.017 0.897 ± 0.008 0.829 ± 0.008Logistic regression 0.84 ± 0.005 0.967 ± 0.013 0.899 ± 0.002 0.832 ± 0.007SVM 0.828 ± 0.021 0.988 ± 0.007 0.901 ± 0.012 0.832 ± 0.019LightGBM 0.837 ± 0.004 0.966 ± 0.01 0.897 ± 0.002 0.828 ± 0.004XGBoost 0.833 ± 0.009 0.954 ± 0.016 0.889 ± 0.009 0.817 ± 0.012Random Forest 0.818 ± 0.011 0.981 ± 0.009 0.892 ± 0.892 0.817 ± 0.012
Tabela A.10: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação PVTV
Algorithm Precision Recall F1-Score AccuracyKNN 0.833 ± 0.019 0.995 ± 0.004 0.907 ± 0.013 0.836 ± 0.024ANN 0.862 ± 0.002 0.963 ± 0.014 0.91 ± 0.007 0.848 ± 0.009Logistic regression 0.852 ± 0.016 0.953 ± 0.017 0.899 ± 0.002 0.83 ± 0.004SVM 0.846 ± 0.015 0.987 ± 0.008 0.911 ± 0.005 0.846 ± 0.011LightGBM 0.859 ± 0.015 0.964 ± 0.009 0.909 ± 0.01 0.845 ± 0.016XGBoost 0.848 ± 0.014 0.951 ± 0.016 0.896 ± 0.008 0.824 ± 0.014Random Forest 0.841 ± 0.006 0.988 ± 0.004 0.908 ± 0.003 0.841 ± 0.005
Tabela A.11: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVMVPV
Algorithm Precision Recall F1-Score AccuracyKNN 0.811 ± 0.014 0.99 ± 0.007 0.892 ± 0.006 0.814 ± 0.01ANN 0.845 ± 0.016 0.965 ± 0.015 0.901 ± 0.005 0.835 ± 0.009Logistic regression 0.849 ± 0.018 0.976 ± 0.014 0.908 ± 0.013 0.846 ± 0.021SVM 0.84 ± 0.014 0.99 ± 0.001 0.909 ± 0.008 0.846 ± 0.014LightGBM 0.841 ± 0.015 0.973 ± 0.009 0.902 ± 0.012 0.836 ± 0.019XGBoost 0.84 ± 0.018 0.956 ± 0.021 0.894 ± 0.019 0.825 ± 0.03Random Forest 0.83 ± 0.014 0.992 ± 0.011 0.904 ± 0.007 0.836 ± 0.011
A.3 Tabelas de resultados 67
Tabela A.12: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVMVTV
Algorithm Precision Recall F1-Score AccuracyKNN 0.788 ± 0.016 0.992 ± 0.008 0.878 ± 0.009 0.792 ± 0.013ANN 0.842 ± 0.004 0.941 ± 0.014 0.889 ± 0.007 0.821 ± 0.012Logistic regression 0.826 ± 0.014 0.966 ± 0.017 0.89 ± 0.005 0.82 ± 0.009SVM 0.815 ± 0.016 0.988 ± 0.009 0.893 ± 0.007 0.821 ± 0.011LightGBM 0.833 ± 0.014 0.963 ± 0.008 0.893 ± 0.005 0.825 ± 0.007XGBoost 0.82 ± 0.017 0.946 ± 0.016 0.878 ± 0.016 0.802 ± 0.023Random Forest 0.817 ± 0.012 0.988 ± 0.009 0.895 ± 0.009 0.824 ± 0.013
Tabela A.13: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação AVPVTV
Algorithm Precision Recall F1-Score AccuracyKNN 0.784 ± 0.01 0.995 ± 0.008 0.877 ± 0.009 0.791 ± 0.015ANN 0.83 ± 0.02 0.956 ± 0.008 0.889 ± 0.013 0.82 ± 0.021Logistic regression 0.82 ± 0.016 0.976 ± 0.015 0.891 ± 0.009 0.821 ± 0.016SVM 0.812 ± 0.016 0.991 ± 0.006 0.892 ± 0.008 0.821 ± 0.013LightGBM 0.813 ± 0.012 0.976 ± 0.013 0.887 ± 0.007 0.814 ± 0.012XGBoost 0.819 ± 0.024 0.965 ± 0.01 0.886 ± 0.011 0.813 ± 0.019Random Forest 0.803 ± 0.013 0.995 ± 0.004 0.888 ± 0.007 0.813 ± 0.01
Tabela A.14: Resumo dos resultados obtidos com todos os algoritmos e os focos de auscultação MVPVTV
Algorithm Precision Recall F1-Score AccuracyKNN 0.795 ± 0.026 0.997 ± 0.005 0.884 ± 0.016 0.805 ± 0.025ANN 0.834 ± 0.021 0.961 ± 0.011 0.893 ± 0.009 0.827 ± 0.013Logistic regression 0.842 ± 0.019 0.97 ± 0.01 0.901 ± 0.014 0.84 ± 0.02SVM 0.838 ± 0.022 0.945 ± 0.04 0.888 ± 0.029 0.823 ± 0.04LightGBM 0.836 ± 0.018 0.941 ± 0.017 0.885 ± 0.014 0.818 ± 0.018XGBoost 0.841 ± 0.03 0.966 ± 0.019 0.899 ± 0.015 0.836 ± 0.023Random Forest 0.82 ± 0.023 0.98 ± 0.01 0.893 ± 0.012 0.823 ± 0.018
68 Anexos
Tabela A.15: Resumo dos resultados obtidos com todos os algoritmos e os quatro focos de auscultação
Algorithm Precision Recall F1-Score AccuracyKNN 0.798 ± 0.009 0.976 ± 0.012 0.878 ± 0.003 0.794 ± 0.005ANN 0.839 ± 0.011 0.964 ± 0.003 0.897 ± 0.005 0.832 ± 0.010Logistic regression 0.834 ± 0.009 0.974 ± 0.007 0.899 ± 0.007 0.834 ± 0.011SVM 0.823 ± 0.009 0.986 ± 0.005 0.897 ± 0.004 0.829 ± 0.006LightGBM 0.827 ± 0.006 0.973 ± 0.090 0.894 ± 0.001 0.825 ± 0.001XGBoost 0.834 ± 0.012 0.967 ± 0.017 0.895 ± 0.015 0.829 ± 0.023Random Forest 0.813 ± 0.005 0.994 ± 0.004 0.894 ± 0.004 0.822 ± 0.007
Referências
[1] Heart sound signals based on CNN classification research. ACM International Conference ProceedingSeries, Part F130950:44–48, 2017.
[2] Abbas K. Abbas e Rasha Bassam. Phonocardiography Signal Processing. Synthesis Lectures onBiomedical Engineering, 31(April 2009):1–189, 2009.
[3] Rita and Oliveira, Luís Martins, Helena Andrade, António Pires, e Eduardo Castela. Sopro cardíacopediátrico: estudo de série de casos. Revista Portuguesa de Clínica Geral, 29(6):398–402, 2013.
[4] Mohamed Boussaa, Issam Atouf, Mohamed Atibi, e Abdellatif Bennis. ECG signals classificationusing MFCC coefficients and ANN classifier. Proceedings of 2016 International Conference on Elec-trical and Information Technologies, ICEIT 2016, (November 2017):480–484, 2016.
[5] Baris Bozkurt, Ioannis Germanakis, e Yannis Stylianou. A study of time-frequency features for CNN-based automatic heart sound classification for pathology detection. Computers in Biology and Medi-cine, 100:132–143, 2018.
[6] Bruno Nogueira De Carvalho, Diagnóstico Automático De, e São Luis Ma. DESCRITORES SONO-ROS E SVM. 2018.
[7] Jalel Chebil e Jamal Al-Nabulsi. Classification of heart sound signals using discrete wavelet analysis.International Journal of Soft Computing, 2(1):37–41, 2007.
[8] Chebyshev. Available at https://www.electronics-notes.com/articles/radio/rf-filters/what-is-chebychev-filter-basics.php.
[9] L Hamza Cherif, M Mostafi, e S M Debbal. Digitals filters in heart sound analysis. InternationalJournal of clinical Medicine Research, 1(3):97–108, 2014.
[10] A Xerox Company. Recognizing Abnormal Heart Sounds Using Deep Learning. 2015.
[11] André Ponce de Leon F. de Carvalho. Available at https://sites.icmc.usp.br/andre/research/neural/.
[12] Omer Deperlioglu. Classification of Phonocardiograms with Convolutional Neural Networks. BRAIN.Broad Research in Artificial Intelligence and Neuroscience, 9(2):22–33, 2018.
[13] Caravana do Coração começa neste domingo para atender em 13 cidades da Paraíba. Availa-ble at https://www.diariodepernambuco.com.br/noticia/vidaurbana/2018/07/caravana-do-coracao-viagem-comeca-neste-domingo-para-atender-cerca-de.html.
[14] Sean Dornbush e Andre E. Turnquest. Physiology, Heart Sounds. 2019.
69
70 REFERÊNCIAS
[15] Guilherme Duarte. Gradient Boostings Parte 1: Métodos de Ensemble Learning. 2020.
[16] George Ellis. Filters in Control Systems. Control System Design Guide, páginas 165–183, 2012.
[17] ElProCus. Available at https://www.elprocus.com/butterworth-filter-formula-and-calculations/.
[18] Francisco França. Caravana do Coração realiza mais de 10 mil pro-cedimentos e atende 1.908 pessoas de 176 municípios. Availa-ble at https://auniao.pb.gov.br/noticias/caderno_paraiba/caravana-do-coracao-realiza-mais-de-10-mil-procedimentos-e-atende-1-908-pessoas-de-176-municipios,julho 2019.
[19] Martin Gjoreski, Anton Gradišek, e Gregor Poglajen. Machine Learning and End-to-End Deep Lear-ning for the Detection of Chronic Heart Failure From Heart Sounds. páginas 20313–20324, 2020.
[20] GridSearchCV. Available at https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html.
[21] Dorde Grozdic, Slobodan Jovicic, Dragana Šumarac Pavlovic, Jovan Galic, e Branko Markovic. Com-parison of cepstral normalization techniques in whispered speech recognition. Advances in Electricaland Computer Engineering, 17(1):21–26, 2017.
[22] J. E. Hall. Guyton and Hall Textbook of Medical Physiology: Enhanced E-book. Elsevier HealthSciences. 2010.
[23] Jorge Oliveira Santos Henrique. Subject-driven supervised and unsupervised Hidden Markov Modelsfor heart sound segmentation in real noisy environments. Tese de doutoramento, Faculdade de Ciênciasda Universidade do Porto, 2018.
[24] Rafael Henrique, Palma Lima, e K-nearest Neighbors. Aprendizado De Máquina K- Nearest NeighborsPara Classificar a Qualidade De. 2018.
[25] KNN. Available at https://medium.com/brasil-ai/knn-k-nearest-neighbors-1-e140c82e9c4e.
[26] Yücel Koçyigit. Heart sound signal classification using fast independent component analysis. TurkishJournal of Electrical Engineering and Computer Sciences, 24(4):2949–2960, 2016.
[27] Siddique Latif, Muhammad Usman, Rajib Rana, e Junaid Qadir. Phonocardiographic Sensing UsingDeep Learning for Abnormal Heartbeat Detection. IEEE Sensors Journal, 18(22):9393–9400, 2018.
[28] Machine Learning e Kunumi Blog. M é tricas de Avalia çã o em Machine Learning : Classi ca çã o.páginas 1–9, 2020.
[29] T. S. Leung, P. R. White, W. B. Collis, E. Brown, e A. P. Salmon. Classification of heart sounds usingtime-frequency method and artificial neural networks. Annual International Conference of the IEEEEngineering in Medicine and Biology - Proceedings, 2:988–991, 2000.
[30] Jinghui Li, Li Ke, Qiang Du, Xiaodi Ding, Xiangmin Chen, e Danni Wang. Heart Sound SignalClassification Algorithm: A Combination of Wavelet Scattering Transform and Twin Support VectorMachine. IEEE Access, 7:179339–179348, 2019.
[31] Documentação LightGBM. Available at https://lightgbm.readthedocs.io/en/latest/.
REFERÊNCIAS 71
[32] Chengyu Liu, David Springer, Qiao Li, Benjamin Moody, Ricardo Abad Juan, Francisco J. Chorro,Francisco Castells, Jose Millet Roig, Ikaro Silva, Alistair E.W. Johnson, Zeeshan Syed, Samuel E.Schmidt, Chrysa D. Papadaniil, Leontios Hadjileontiadis, Hosein Naseri, Ali Moukadem, Alain Di-eterlen, Christian Brandt, Hong Tang, Maryam Samieinasab, Mohammad Reza Samieinasab, RezaSameni, Roger G. Mark, e Gari D. Clifford. An open access database for the evaluation of heart soundalgorithms. Physiological Measurement, 37(12):2181–2213, 2016.
[33] Selma Alves Valente Do Amaral Lopes, Isabel Cristina Britto Guimarães, Sofia Fontes de Oliva Costa,Angelina Xavier Acosta, Kyoko Abe Sandes, e Carlos Maurício Cardeal Mendes. Mortality for criticalcongenital heart diseases and associated risk factors in newborns. A cohort study. Arquivos Brasileirosde Cardiologia, 111(5):666–673, 2018.
[34] Jia Xin Low e Keng Wah Choo. Automatic Classification of Periodic Heart Sounds Using Convoluti-onal Neural Netowork. International Scholarly and Scientific Research & Innovation, 12(1):100–105,2018.
[35] João Manuel e Patrício Pedrosa. Heart Sound Analysis for Cardiac Pathology Identification : Detectionand Characterization of Heart Murmurs. (July), 2013.
[36] Juan Martinez-Alajarin e Ramon Ruiz-Merino. Efficient method for events detection in phonocardio-graphic signals. Bioengineered and Bioinspired Systems II, 5839:398, 2005.
[37] Saul McLeod. Z-Score: Definition, Calculation and Interpretation. 2019.
[38] Saul Mcleod. Z-Score: Definition, Calculation and Interpretation. Simply Psychology, 1:1–7, 2019.
[39] Medipedia. Coração - anatomia e fisiologia - Medipédia, Conteúdos de Saúde. Available at https://www.medipedia.pt/home/home.php?module=artigoEnc&id=97, janeiro 2012.
[40] Luís Miguel e Barroso Natividade. Data Mining para análise dos resultados de Gene Expression. 2017.
[41] Vishal Morde. Available at https://towardsdatascience.com/https-medium-com-vishalmorde-xgboost-algorithm-long-she-may-rein-edd9f99be63d.
[42] Mohammed Nabih-Ali, El-Sayed A. El-Dahshan, e Ashraf S. Yahia. Heart Diseases Diagnosis UsingIntelligent Algorithm Based on PCG Signal Analysis. Circuits and Systems, 08(07):184–190, 2017.
[43] H. Naseri e M. R. Homaeinezhad. Detection and boundary identification of phonocardiogram soundsusing an expert frequency-energy based metric. Annals of Biomedical Engineering, 41(2):279–292,2013.
[44] Jorge Oliveira, Francesco Renna, e Miguel Coimbra. A Subject-Driven Unsupervised Hidden Semi-Markov Model and Gaussian Mixture Model for Heart Sound Segmentation. IEEE Journal on SelectedTopics in Signal Processing, 13(2):323–331, 2019.
[45] OPAS/OMS. OPAS/OMS Brasil - Doenças cardiovasculares. Available at https://www.paho.org/bra/index.php?option=com_content&view=article&id=5253:doencas-cardiovasculares&Itemid=1096, maio 2017.
[46] Chul Kee Park e Dong Gyu Kim. Historical background. Progress in Neurological Surgery, 25:1–12,2012.
72 REFERÊNCIAS
[47] PNUD. PNUD: miséria priva 3,8% dos brasileiros de condições bási-cas de vida | ONU Brasil. Available at https://nacoesunidas.org/pnud-miseria-priva-38-dos-brasileiros-de-condicoes-basicas-vida/, ju-lho 2019.
[48] Joshua D. Pollock e Amgad N. Makaryus. Physiology, Cardiac Cycle. 2019.
[49] Classification report. Available at https://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html.
[50] S V; Sathyanarayana, S; Amarappa. Data classification using Support vector Machine (SVM), a sim-plified approaCH. International Journal of Electronics and Computer S cience Engineering, Volume3, Number 4, ISSN- 2277-1956, páginas 435–445, 2014.
[51] Chirag Sehra. Decision trees explained easily. 2018.
[52] Colin Shearer, Hugh J Watson, Daryl G Grecich, Larissa Moss, Sid Adelman, Katherine Hammer, eStacey a Herdlein. The CRISP-DM model: The New Blueprint for Data Mining. Journal of DataWarehousing, 5(4):13–22, 2000.
[53] Rakesh Kumar Sinha, Yogender Aggarwal, e Barda Nand Das. Backpropagation artificial neuralnetwork classifier to detect changes in heart sound due to mitral valve regurgitation. Journal of MedicalSystems, 31(3):205–209, 2007.
[54] Ramya Bhaskar Sundaram. An End-to-End Guide to Understand the Math behind XGBoost. 2018.
[55] George Tang. HeartFit : An Accurate Platform for Heart Murmur Screening Utilizing Deep Learning.
[56] Cássia Yuri Tatibana e Deisi Yuri Kaetsu. Introdução as redes neurais artificiais. Redes Neurais, 2013.
[57] Tensorflow. Available at https://www.tensorflow.org/.
[58] Seth L. Thomas e Amgad N. Makaryus. Physiology, Cardiovascular Murmurs. 2019.
[59] Jithendra Vepa. Classification of heart murmurs using cepstral features and support vector machines.Proceedings of the 31st Annual International Conference of the IEEE Engineering in Medicine andBiology Society: Engineering the Future of Biomedicine, EMBC 2009, páginas 2539–2542, 2009.
[60] Dkk Visa Sofia. Confusion Matrix-based Feature Selection Sofia Visa. ConfusionMatrix-based FeatureSelection Sofia, 710(January):8, 2011.
[61] Grega Vrbancic, Iztok Fister, e Vili Podgorelec. Automatic detection of heartbeats in heart soundsignals using deep convolutional neural networks. Elektronika ir Elektrotechnika, 25(3):71–76, 2019.
[62] Eltahir Wahiba Hamdan Ali, Mohamed Hussein. Heart murmur detection using artificial neuralnetwork. (May), 2014.
[63] Tonu Yiu. Understanding Random Forest How the Algorithm Works and Why it Is So Effective. 2019.
[64] Jaime Zornoza. Logistic Regression Explained. 2020.
top related