$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Aquisição de conjuntos de dados
O conjunto de dados UCI Heart Disease é amplamente utilizado em pesquisas médicas e de aprendizado de máquina para prever doenças cardíacas. Ele contém várias características clínicas e diagnósticas dos pacientes, permitindo que profissionais de saúde e pesquisadores desenvolvam modelos de predição baseados em dados. O conjunto de dados classifica os indivíduos como propensos ou improbáveis a ter doença cardíaca com base em vários atributos do paciente, incluindo idade, gênero, tipo de dor no peito, pressão arterial, níveis de colesterol e resultados de eletrocardiogramas (https://archive.ics.uci.edu/dataset/45/heart+disease)29. O fluxo de trabalho geral do framework proposto para a previsão de doenças cardíacas, incluindo pré-processamento de dados, implementação de modelos distribuídos e etapas de avaliação, está ilustrado na Figura 1.
Configurações de ambientes experimentais
O ambiente experimental foi implantado no Apache Hadoop 3.x como o núcleo da estrutura de computação distribuída para todas as implementações. O cluster utilizava uma arquitetura mestre-trabalhador com um nó mestre dedicado e múltiplos nós trabalhadores. O nó mestre gerenciava o escalonamento de tarefas, alocação de recursos e coordenação de clusters usando o YARN (Yet Another Resource Negotiator), enquanto os nós trabalhadores executavam tarefas de computação distribuída em paralelo para processar eficientemente conjuntos de dados médicos em grande escala. Cada nó do cluster era equipado com processadores Intel Core i7 (ou equivalente), 16–32 GB de RAM e aproximadamente 1 TB de armazenamento.
Ingestão de dados no HDFS
Armazenamento de Conjuntos de Dados
O conjunto de dados experimental era armazenado no HDFS em um formato distribuído por blocos, com a variável-alvo indicando a presença ou ausência de doença cardíaca, separada do conjunto de características independente, antes do armazenamento entre nós do cluster. O pré-processamento específico de funcionalidades foi aplicado a todos os blocos de dados armazenados usando fluxos de trabalho do MapReduce. Características numéricas, incluindo idade, pressão arterial, níveis de colesterol e frequência cardíaca, foram normalizadas usando um escalador robusto baseado na faixa interquartil, reduzindo a influência de valores atípicos que são particularmente prevalentes em conjuntos de dados médicos, onde valores extremos podem representar condições clínicas raras ou graves. Variáveis categóricas com mais de duas categorias, como cp, restecg e thal, foram transformadas usando codificação one-hot, convertendo atributos categóricos em representações numéricas binárias compatíveis com as entradas do algoritmo de aprendizadode máquina 30,31,32. Todas as operações de pré-processamento eram executadas como trabalhos distribuídos do MapReduce entre blocos de dados HDFS, garantindo a aplicação uniforme de todo o pipeline sem centralizar os dados brutos em nenhum ponto específico.
Particionamento entre nós
O conjunto de dados foi dividido em conjuntos de treinamento e testes usando uma divisão 80:20, com 80% alocado ao treinamento e 20% reservado para avaliação em dados não vistos. Essa partição foi aplicada de forma consistente em todos os nós trabalhadores distribuídos para garantir que cada nó processasse um fragmento proporcional e representativo do conjunto de dados completo, prevenindo o descompasso de dados e apoiando a generalização balanceada do modelo. A escalabilidade garantiu que todas as variáveis numéricas contribuíssem igualmente durante o treinamento distribuído, ao impedir que características de maior magnitude dominassem o processo de aprendizado entre nós. Essa estratégia de particionamento estruturado aumentou a confiabilidade preditiva e ajudou a evitar o sobreajuste ao manter uma separação clara entre dados de treinamento e avaliação em todo o cluster distribuído.
Pré-processamento de dados
Tratamento de valor ausente
Conjuntos de dados médicos frequentemente contêm registros incompletos devido a erros de entrada de dados, falhas no dispositivo ou falta de resposta do paciente durante a coleta de dados clínicos. Antes do treinamento do modelo, todos os atributos do conjunto de dados eram examinados quanto à ausência ou valores nulos. Linhas com valores ausentes em características clínicas críticas, como pressão arterial, colesterol e frequência cardíaca, foram identificadas e tratadas usando imputação de média para variáveis numéricas e imputação por modo para variáveis categóricas. Essa abordagem preservava a distribuição estatística do conjunto de dados, garantindo que nenhuma amostra de treinamento fosse descartada desnecessariamente, mantendo a máxima disponibilidade de dados para aprendizado de modelos entre nós HDFS distribuídos.
Escalonamento de características
Características numéricas, incluindo idade, pressão arterial, níveis de colesterol e frequência cardíaca máxima, apresentam faixas de valores significativamente diferentes, o que pode fazer com que características de maior magnitude influenciem desproporcionalmente o treinamento dos modelos. Para resolver isso, foi aplicado um escalador robusto baseado na faixa interquartil a todos os atributos numéricos contínuos. Essa estratégia de escalonamento é particularmente adequada para conjuntos de dados médicos, onde valores clínicos extremos que representam condições raras ou graves podem, de outra forma, distorcer o processo de aprendizagem. O escalonamento garantiu que todas as variáveis numéricas contribuíssem igualmente durante o treinamento do modelo e fosse aplicado de forma consistente em todos os nós de trabalhadores distribuídos usando fluxos de trabalho MapReduce.
Codificação
Variáveis categóricas com mais de duas categorias distintas, incluindo cp (tipo de dor torácica), restecg (resultados eletrocardiográficos em repouso) e thal (tipo talassemia), foram transformadas usando codificação one-hot. Esse processo converteu cada atributo categórico em um conjunto de colunas indicadoras numéricas binárias, produzindo representações que algoritmos de aprendizado de máquina podem processar de forma eficaz sem impor relações ordinais artificiais entre valores de categoria. Variáveis categóricas binárias foram mantidas em sua forma numérica original. Todas as operações de codificação foram executadas como trabalhos distribuídos MapReduce entre blocos de dados HDFS, garantindo transformações consistentes em todos os fragmentos particionados do conjunto de dados.
Divisão entre trem e teste
O conjunto de dados pré-processado foi particionado em subconjuntos de treinamento e teste usando uma divisão 80:20, com 80% alocado ao treinamento do modelo e 20% reservado para avaliação de desempenho em dados não vistos. A variável-alvo, indicando a presença ou ausência de doença cardíaca, foi separada do conjunto de características independente antes da divisão. Essa partição foi aplicada uniformemente em todos os nós HDFS distribuídos para garantir que cada nó de trabalho processasse um fragmento proporcional e representativo do conjunto de dados completo, evitando o desenviamento dos dados. A estratégia de divisão 80:20 aumentou a confiabilidade preditiva, a generalização dos modelos e manteve uma clara separação entre dados de treinamento e avaliação em todo o ambiente distribuído do cluster, evitando assim o sobreajuste.
Implementação do modelo
O modelo Cluster Visualized Hadoop Distributed Decision Tree (CViHDDT) classifica os pacientes em categorias de risco usando uma árvore de decisão distribuída. O algoritmo da árvore de decisão divide recursivamente o conjunto de dados com base nas características mais informativas, maximizando a separação entre pacientes com e sem doença cardíaca. Dentro do framework distribuído Hadoop, esse processo é executado em múltiplos nós computacionais, permitindo que grandes conjuntos de dados sejam processados de forma eficiente. A arquitetura distribuída reduz o tempo computacional enquanto melhora a escalabilidade. O algoritmo Cluster Visualized Hadoop Distributed K-Nearest Neighbor (CViHDKNN) usa o mesmo conjunto de dados, mas aplica uma estratégia de classificação diferente. Em vez de construir uma árvore de decisão, o modelo identifica os pacientes vizinhos mais próximos com base em atributos médicos como pressão arterial, níveis de colesterol e angina induzida pelo exercício. Usando computação distribuída, o algoritmo KNN agrupa eficientemente pacientes com características médicas semelhantes enquanto gerencia a complexidade computacional.
O princípio de classificação do modelo distribuído K-vizinho mais próximo é ilustrado na Figura 2, onde uma nova instância é atribuída a uma classe baseada na classe majoritária entre seus vizinhos mais próximos. Técnicas de visualização de clusters permitem que profissionais de saúde identifiquem grupos de pacientes com características clínicas semelhantes, melhorando assim a interpretabilidade e apoiando recomendações de tratamento personalizadas. O framework proposto para previsão de doenças cardíacas integra pré-processamento de dados, algoritmos distribuídos de aprendizado de máquina e técnicas de visualização de clusters. Ao aproveitar as capacidades de computação distribuída do Hadoop, a estrutura processa de forma eficiente grandes conjuntos de dados de saúde, mantendo alta precisão e interpretabilidade nas predições, permitindo a detecção precoce de doenças cardíacas e melhorando a tomada de decisões clínicas.
Árvore de decisão Hadoop Distribuída visualizada em cluster (CViHDDT):
Treinamento com Árvore de Decisão Distribuída
O modelo proposto de Cluster Visualized Hadoop Distributed Decision Tree (CViHDDT) difere fundamentalmente da construção tradicional de árvores de decisão ao distribuir o processo de construção da árvore entre múltiplos nós do ecossistema Hadoop, em vez de construir toda a árvore em uma única máquina. Nós trabalhadores individuais constroem árvores de decisão parciais localmente em seu subconjunto atribuído do conjunto de dados, usando MapReduce ou Apache Spark para processamento paralelo. Essas árvores parciais construídas localmente são posteriormente combinadas em uma árvore de decisão global completa que abrange todo o conjunto de dados distribuído. Essa estratégia de treinamento distribuído acelera significativamente o treinamento dos modelos, permitindo que a estrutura lide eficientemente com conjuntos de dados médicos de vários terabytes em larga escala. A infraestrutura de computação paralela fornecida pelo Hadoop garante que o modelo CViHDDT seja inerentemente escalável e bem adequado para soluções de saúde orientadas a big data. Após a construção da árvore distribuída, técnicas de visualização de clusters são aplicadas para melhorar a interpretabilidade do modelo, agrupando os nós da árvore de decisão em clusters de pacientes com condições médicas semelhantes, utilizando algoritmos como k-means e agrupamento hierárquico. Esse processo de agrupamento produz categorias de risco clinicamente significativas — como doenças cardíacas leves, moderadas e graves — permitindo que profissionais de saúde identifiquem padrões nos dados dos pacientes, compreendam a progressão da doença e formulem planos de tratamento personalizados.
Seleção de Recursos
Antes do treinamento distribuído da árvore de decisão, o modelo CViHDDT aplica um pipeline estruturado de pré-processamento e seleção de características aos dados médicos brutos ingeridos do HDFS. Valores ausentes são tratados por meio de algoritmos de imputação para gerenciar registros clínicos incompletos e evitar perda de dados sem descartar amostras de pacientes. A normalização do Scaler Robusto é aplicada a características numéricas como pressão arterial e níveis de colesterol para mitigar a influência desproporcional dos valores atípicos prevalentes em conjuntos de dados médicos. Variáveis categóricas como gênero e histórico familiar de doenças cardíacas são transformadas usando codificação one-hot ou etiqueta para produzir representações numéricas compatíveis com algoritmos de aprendizado de máquina. Após o pré-processamento, é realizada a extração de características para identificar os principais atributos clínicos mais preditivos de doenças cardíacas. Essa etapa elimina características irrelevantes e redundantes do conjunto de dados, reduzindo os custos computacionais nas etapas subsequentes de treinamento distribuído e garantindo que apenas os atributos mais informativos do ponto de vista diagnóstico — como tipo de dor torácica, pressão arterial em repouso, colesterol sérico, frequência cardíaca máxima e depressão ST — sejam mantidos como insumos para o processo de construção da árvore de decisão distribuída. Essa redução sistemática de características melhora a eficiência do modelo, reduz o tempo de treinamento entre nós distribuídos e aprimora a confiabilidade preditiva geral do framework CViHDDT ao focar o processo de aprendizado em atributos com o maior poder discriminativo clínico.
Fluxo de Trabalho MapReduce
O modelo de programação MapReduce forma a espinha dorsal computacional do pipeline de treinamento distribuído CViHDDT, permitindo o processamento paralelo do conjunto de dados de doenças cardíacas em todos os nós trabalhadores do cluster Hadoop. Na fase do mapa, cada nó trabalhador processa independentemente seu fragmento de dados HDFS atribuído, calculando estruturas parciais de árvore de decisão e estatísticas locais de divisão — incluindo valores de Ganho de Informação e Índice de Gini — para cada atributo candidato, sem exigir acesso a dados armazenados em outros nós. Na fase de redução, as árvores parciais computadas localmente e estatísticas suficientes são agregadas em todos os nós para construir a árvore global de decisão completa, consolidando o conhecimento distribuído aprendido em cada nó em um único modelo preditivo unificado. Essa decomposição por redução de mapas do processo de construção de árvores permite que o modelo CViHDDT escale linearmente com o número de nós trabalhadores, tornando viável computacionalmente a análise em tempo real de conjuntos de dados médicos em grande escala. O fluxo de trabalho MapReduce também suporta a execução distribuída de procedimentos de visualização de clusters, nos quais algoritmos de clustering são aplicados em paralelo entre blocos de dados HDFS para agrupar os registros dos pacientes em categorias de risco com base nas atribuições de nós da árvore de decisão. A avaliação de desempenho do modelo resultante utiliza precisão, recordação, pontuação F1 e precisão de classificação como métricas primárias, com a visualização distribuída do cluster reduzindo ainda mais os falsos negativos ao permitir limites de decisão mais finos dentro da árvore — melhorando diretamente a sensibilidade para identificar pacientes em risco e aprimorando a confiabilidade clínica do framework de predição de doenças cardíacas do CViHDDT.
Vizinho K Distribuído Visualizado em Hadoop (CViHDKNN)
Agrupamento
O framework CViHDKNN (Cluster Visualized Hadoop Distributed K-Nearest Neighbor) começa aplicando técnicas de clustering ao conjunto de dados de doenças cardíacas antes da classificação, agrupando pacientes com características médicas semelhantes em clusters coerentes antes da realização da busca KNN. O conjunto de dados de doenças cardíacas, contendo características clínicas como idade, nível de colesterol, pressão arterial, resultados de ECG e frequência cardíaca, é pré-processado e distribuído entre os nós do cluster Hadoop usando HDFS. Algoritmos de clustering, incluindo K-Means e Hierarchical Clustering, são então aplicados entre essas partições de dados distribuídas para dividir o conjunto de dados em grupos de pacientes compartilhando perfis médicos relacionados. Essa etapa de pré-classificação de agrupamento serve a um propósito computacional crítico: ao restringir o espaço de busca do KNN apenas ao cluster mais relevante em vez de todo o conjunto de dados, o algoritmo reduz drasticamente o número de cálculos de distância necessários por instância de consulta. Visualizar esses agrupamentos oferece benefício clínico adicional ao permitir a identificação de subgrupos de pacientes com características médicas intimamente relacionadas e ao apoiar uma categorização mais significativa dos perfis de risco antes da etapa de classificação do vizinho mais próximo. A otimização baseada em clustering não só reduz a sobrecarga computacional, mas também melhora a precisão da classificação ao garantir que cada instância de consulta seja comparada apenas com os registros de pacientes mais semelhantes em contexto, tornando a abordagem particularmente adequada para conjuntos de dados de doenças cardíacas em larga escala, onde o cálculo exaustivo de distância em todo o conjunto de dados seria computacionalmente proibitivo.
KNN distribuído
O componente KNN distribuído do CViHDKNN aborda a limitação fundamental de escalabilidade do KNN tradicional, que exige carregar todo o conjunto de dados na memória antes de calcular as distâncias entre a instância de consulta e todos os pontos de dados armazenados. No framework CViHDKNN, essa computação de distância é paralelizada entre múltiplos nós trabalhadores no cluster Hadoop usando partições de dados distribuídas por HDFS, garantindo que nenhum único nó seja necessário para processar o conjunto de dados completo. Cada nó trabalhador calcula independentemente a distância entre a instância de consulta e os registros de pacientes armazenados em seu fragmento de dados HDFS localmente atribuído, identificando os vizinhos locais mais próximos dentro de sua partição. Ao aproveitar as capacidades de processamento paralelo do Hadoop, o CViHDKNN melhora drasticamente a escalabilidade e permite o gerenciamento eficiente de grandes quantidades de dados de pacientes relacionados à saúde. Essa arquitetura distribuída também aprimora a segurança dos dados, já que registros sensíveis de pacientes permanecem dentro do ambiente do cluster distribuído, em vez de serem transferidos para servidores em nuvem externos ou máquinas locais centralizadas. A combinação da redução do espaço de busca guiada por clustering e do cálculo de distância distribuído por Hadoop resulta em um sistema que alcança tanto eficiência computacional quanto precisão preditiva, possibilitando previsão em tempo real de doenças cardíacas em conjuntos de dados médicos em grande escala. Resultados experimentais confirmam que a implementação distribuída alcança uma precisão de classificação de 85,25%, representando uma melhora significativa de desempenho em relação à linha base tradicional do KNN não distribuído, atribuível diretamente à estratégia de processamento distribuído e aprimorado por clustering.
Classificação
A etapa de classificação do CViHDKNN atribui cada instância de paciente consultado a uma classe de doença cardíaca com base no voto majoritário entre seus K vizinhos mais próximos identificados pelo processo de busca distribuída. A escolha do valor K influencia diretamente os resultados da classificação e a precisão preditiva. Quando K = 1, a instância de consulta é atribuída ao rótulo de classe de seu vizinho mais próximo, resultando em uma fronteira de decisão altamente localizada que pode ser sensível ao ruído nos dados de treinamento. Quando K = 3, a classificação é determinada pela classe majoritária entre os três vizinhos mais próximos — por exemplo, se dois vizinhos pertencem à Classe 1 (sem doença cardíaca) e um à Classe 2 (presença de doença cardíaca), a instância de consulta é classificada como Classe 1, proporcionando uma decisão mais robusta e tolerante ao ruído. A fase de redução do MapReduce agrega os vizinhos mais próximos localmente identificados de todos os nós trabalhadores em uma lista globalmente ranqueada, da qual os K vizinhos mais próximos são selecionados, e então calcula o voto da maioria para produzir a previsão final da classe. O desempenho do framework de classificação CViHDKNN é avaliado usando precisão, recordação, pontuação F1 e precisão geral da classificação como métricas principais. A integração da busca por restrições em cluster com a votação majoritária distribuída produz limites de decisão mais finos e precisos do que o KNN padrão, reduzindo falsos negativos na identificação de pacientes em risco e melhorando a sensibilidade, ambos requisitos críticos para a previsão clinicamente confiável de doenças cardíacas em ambientes distribuídos de análise de saúde em larga escala.