$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Acquisition de jeux de données
Le jeu de données UCI Heart Disease est un ensemble de données largement utilisé dans la recherche médicale et l’apprentissage automatique pour prédire les maladies cardiaques. Il contient diverses caractéristiques cliniques et diagnostiques des patients, permettant aux professionnels de santé et aux chercheurs de développer des modèles de prédiction basés sur les données. L’ensemble de données classe les individus comme susceptibles ou peu susceptibles de souffrir de maladie cardiaque en fonction de plusieurs caractéristiques du patient, notamment l’âge, le sexe, le type de douleur thoracique, la tension artérielle, le taux de cholestérol et les résultats d’électrocardiogrammes (https://archive.ics.uci.edu/dataset/45/heart+disease)29. Le flux de travail global du cadre proposé de prédiction des maladies cardiaques, incluant le prétraitement des données, la mise en œuvre du modèle distribué et les étapes d’évaluation, est illustré à la Figure 1.
Configurations d’environnements expérimentaux
L’environnement expérimental a été déployé sur Apache Hadoop 3.x comme cadre central de calcul distribué pour toutes les implémentations. Le cluster utilisait une architecture maître-worker avec un seul maître dédié et plusieurs nœuds ouvriers. Le nœud maître gérait la planification des tâches, l’allocation des ressources et la coordination du cluster via YARN (Yet Another Resource Negotiator), tandis que les nœuds travailleurs exécutaient en parallèle des tâches de calcul distribué pour traiter efficacement des ensembles de données médicales à grande échelle. Chaque nœud du cluster était équipé de processeurs Intel Core i7 (ou équivalent), de 16 à 32 Go de RAM et d’environ 1 To de stockage.
Ingestion de données dans HDFS
Stockage des jeux de données
L’ensemble de données expérimental était stocké dans HDFS sous un format distribué par blocs, la variable cible indiquant la présence ou l’absence de maladie cardiaque, séparée de l’ensemble de caractéristiques indépendant, avant le stockage entre les nœuds du cluster. Un prétraitement spécifique aux fonctionnalités a été appliqué à tous les blocs de données stockés via les flux de travail MapReduce. Les caractéristiques numériques, telles que l’âge, la tension artérielle, le taux de cholestérol et la fréquence cardiaque, ont été normalisées à l’aide d’un scaler robuste basé sur la plage interquartile, réduisant ainsi l’influence des valeurs aberrantes particulièrement présentes dans les ensembles médicaux où les valeurs extrêmes peuvent représenter des conditions cliniques rares ou sévères. Les variables catégorielles comportant plus de deux catégories, telles que cp, restecg et thal, ont été transformées à l’aide d’un codage one-hot, convertissant les attributs catégoriques en représentations numériques binaires compatibles avec les entrées 30,31,32 de l’algorithme d’apprentissage automatique. Toutes les opérations de prétraitement étaient exécutées sous forme de tâches distribuées MapReduce sur des blocs de données HDFS, garantissant une application uniforme de l’ensemble du pipeline sans centraliser les données brutes à un seul moment.
Partitionnement entre les nœuds
Le jeu de données a été divisé en ensembles d’entraînement et de test en utilisant une répartition 80:20, avec 80 % alloués à l’entraînement et 20 % réservés à l’évaluation sur des données non vues. Ce partitionnement était appliqué de manière cohérente sur tous les nœuds ouvriers distribués afin de garantir que chaque nœud traite un fragment proportionnel et représentatif de l’ensemble de données complète, évitant ainsi le décalage des données et soutenant la généralisation équilibrée des modèles. L’échelle garantissait que toutes les variables numériques contribuaient également lors de la formation distribuée en empêchant les caractéristiques de plus grande magnitude de dominer le processus d’apprentissage à travers les nœuds. Cette stratégie de partitionnement structuré a amélioré la fiabilité prédictive et aidé à prévenir le surapprentissage en maintenant une séparation claire entre les données d’entraînement et d’évaluation au sein du cluster distribué.
Prétraitement des données
Gestion de la valeur manquante
Les ensembles de données médicales contiennent fréquemment des dossiers incomplets en raison d’erreurs de saisie, de dysfonctionnements de dispositifs ou de non-réponse des patients lors de la collecte des données cliniques. Avant l’entraînement du modèle, tous les attributs de l’ensemble de données étaient examinés pour détecter des valeurs manquantes ou nulles. Les lignes avec des valeurs manquantes dans des caractéristiques cliniques critiques, telles que la tension artérielle, le cholestérol et la fréquence cardiaque, ont été identifiées et traitées en utilisant l’imputation moyenne pour les variables numériques et l’imputation en mode pour les variables catégorielles. Cette approche préservait la distribution statistique de l’ensemble de données tout en garantissant qu’aucun échantillon d’entraînement n’était inutilement écarté, maintenant ainsi une disponibilité maximale des données pour l’apprentissage des modèles à travers les nœuds HDFS distribués.
Mise à l’échelle des caractéristiques
Les caractéristiques numériques, telles que l’âge, la tension artérielle, le taux de cholestérol et la fréquence cardiaque maximale, présentent des plages de valeurs significativement différentes, ce qui peut entraîner des caractéristiques de plus grande magnitude à influencer de manière disproportionnée l’entraînement modèle. Pour y remédier, un scaleur robuste basé sur la plage interquartile a été appliqué à tous les attributs numériques continus. Cette stratégie d’échelle est particulièrement appropriée pour les ensembles de données médicales où des valeurs cliniques extrêmes représentant des affections rares ou sévères peuvent autrement fausser le processus d’apprentissage. La mise à l’échelle garantissait que toutes les variables numériques contribuaient également lors de l’entraînement du modèle et était appliquée de manière cohérente sur tous les nœuds de travail distribués via les flux de travail MapReduce.
Encodage
Des variables catégorielles comportant plus de deux catégories distinctes, incluant cp (type de douleur thoracique), restecg (résultats électrocardiographiques au repos) et thal (type thalassémie), ont été transformées à l’aide d’un codage à une seule phase. Ce processus convertit chaque attribut catégorique en un ensemble de colonnes indicatrices numériques binaires, produisant des représentations que les algorithmes d’apprentissage automatique peuvent traiter efficacement sans imposer de relations ordinales artificielles entre les valeurs des catégories. Les variables catégorielles binaires ont été conservées dans leur forme numérique d’origine. Toutes les opérations d’encodage étaient exécutées sous forme de tâches distribuées MapReduce à travers des blocs de données HDFS, assurant une transformation cohérente sur tous les fragments de données partitionnés.
Séparation train/essai
Le jeu de données prétraité a été divisé en sous-ensembles d’entraînement et de test avec une répartition 80:20, 80 % étant alloués à l’entraînement du modèle et 20 % réservés à l’évaluation des performances sur des données non vues. La variable cible, indiquant la présence ou l’absence de maladie cardiaque, était séparée de l’ensemble des caractéristiques indépendantes avant la séparation. Cette partition a été appliquée uniformément sur tous les nœuds HDFS distribués afin de garantir que chaque nœud worker traite un fragment proportionnel et représentatif de l’ensemble des données, évitant ainsi le déséquilibrage des données. La stratégie de répartition 80:20 a amélioré la fiabilité prédictive, la généralisation des modèles et maintenu une séparation claire entre les données d’entraînement et d’évaluation dans l’environnement du cluster distribué, évitant ainsi le sur-ajustement.
Implémentation du modèle
Le modèle Cluster Visualized Hadoop Distributed Decision Tree (CViHDDT) classe les patients en catégories de risque à l’aide d’un arbre de décision distribué. L’algorithme de l’arbre de décision divise récursivement l’ensemble de données selon les caractéristiques les plus informatives, maximisant ainsi la séparation entre les patients atteints et sans maladie cardiaque. Dans le cadre distribué Hadoop, ce processus est exécuté sur plusieurs nœuds de calcul, permettant de traiter efficacement de grands ensembles de données. L’architecture distribuée réduit le temps de calcul tout en améliorant la scalabilité. L’algorithme Cluster Visualized Hadoop Distributed K-Nearest Neighbor (CViHDKNN) utilise le même ensemble de données mais applique une stratégie de classification différente. Au lieu de construire un arbre de décision, le modèle identifie les patients voisins les plus proches en fonction d’attributs médicaux tels que la tension artérielle, le taux de cholestérol et l’angine induite par l’exercice. Grâce au calcul distribué, l’algorithme KNN regroupe efficacement des patients présentant des caractéristiques médicales similaires tout en gérant la complexité computationnelle.
Le principe de classification du modèle distribué K-plus proche voisin est illustré à la Figure 2, où une nouvelle instance est attribuée à une classe basée sur la classe majoritaire parmi ses plus proches voisins. Les techniques de visualisation en cluster permettent aux professionnels de santé d’identifier des groupes de patients présentant des caractéristiques cliniques similaires, améliorant ainsi l’interprétabilité et soutenant des recommandations de traitement personnalisées. Le cadre proposé de prédiction des maladies cardiaques intègre le prétraitement des données, des algorithmes d’apprentissage automatique distribué et des techniques de visualisation en cluster. En tirant parti des capacités de calcul distribué de Hadoop, le cadre traite efficacement de vastes ensembles de données de santé tout en maintenant une grande précision et interprétabilité des prédictions, permettant une détection précoce des maladies cardiaques et une meilleure prise de décision clinique.
Arbre de décision Hadoop distribué visualisé par cluster (CViHDDT) :
Entraînement par arbre de décision distribué
Le modèle proposé d’arbre de décision distribué Hadoop Visualisé en cluster (CViHDDT) diffère fondamentalement de la construction traditionnelle par arbre de décision en répartissant le processus de construction d’arbres sur plusieurs nœuds de l’écosystème Hadoop plutôt que de construire l’arbre entier sur une seule machine. Les nœuds travailleurs individuels construisent localement des arbres de décision partiels sur leur sous-ensemble assigné du jeu de données en utilisant soit MapReduce, soit Apache Spark pour le traitement parallèle. Ces arbres partiels construits localement sont ensuite combinés en un arbre de décision global complet qui englobe l’ensemble du jeu de données distribué. Cette stratégie d’entraînement distribuée accélère considérablement l’entraînement des modèles, permettant au cadre de gérer efficacement des ensembles de données médicales de plusieurs téraoctets à grande échelle. L’infrastructure de calcul parallèle fournie par Hadoop garantit que le modèle CViHDDT est intrinsèquement évolutif et bien adapté aux solutions de santé pilotées par le big data. Après la construction d’arbres distribués, des techniques de visualisation de clusters sont appliquées pour améliorer l’interprétabilité du modèle en regroupant les nœuds de l’arbre de décision en groupes de patients ayant des conditions médicales similaires, à l’aide d’algorithmes tels que k-means et le clustering hiérarchique. Ce processus de regroupement produit des catégories de risque cliniquement significatives — telles que les maladies cardiaques légères, modérées et graves — permettant aux professionnels de santé d’identifier des schémas dans les données des patients, de comprendre la progression de la maladie et d’élaborer des plans de traitement personnalisés.
Sélection des fonctionnalités
Avant l’entraînement à l’arbre de décision distribué, le modèle CViHDDT applique un prétraitement structuré et un pipeline de sélection de caractéristiques aux données médicales brutes ingérées par HDFS. Les valeurs manquantes sont corrigées par des algorithmes d’imputation pour gérer les dossiers cliniques incomplets et éviter la perte de données sans jeter les échantillons des patients. La normalisation Robust Scaler est appliquée à des caractéristiques numériques telles que la tension artérielle et les niveaux de cholestérol afin de réduire l’influence disproportionnée des valeurs aberrantes prévalentes dans les ensembles médicaux. Des variables catégorielles telles que le genre et les antécédents familiaux de maladies cardiaques sont transformées à l’aide d’un encodage one-hot ou d’étiquette pour produire des représentations numériques compatibles avec des algorithmes d’apprentissage automatique. Après le prétraitement, l’extraction des caractéristiques est effectuée pour identifier les attributs cliniques clés les plus prédictifs des maladies cardiaques. Cette étape élimine les caractéristiques non pertinentes et redondantes de l’ensemble de données, réduisant les coûts de calcul lors des étapes d’entraînement distribuée ultérieures et garantissant que seuls les attributs les plus instructifs sur le plan diagnostique — tels que le type de douleur thoracique, la tension artérielle au repos, le cholestérol sérique, la fréquence cardiaque maximale et la dépression ST — soient conservés comme entrées dans le processus de construction de l’arbre de décision distribué. Cette réduction systématique des caractéristiques améliore l’efficacité du modèle, réduit le temps d’entraînement entre les nœuds distribués et améliore la fiabilité prédictive globale du cadre CViHDDT en concentrant le processus d’apprentissage sur les attributs ayant le plus grand pouvoir discriminatif clinique.
Flux de travail MapReduce
Le modèle de programmation MapReduce constitue l’épine dorsale computationnelle du pipeline d’entraînement distribué CViHDDT, permettant un traitement parallèle du jeu de données sur les maladies cardiaques à travers tous les nœuds travailleurs du cluster Hadoop. Lors de la phase de cartographie, chaque nœud worker traite indépendamment son fragment de données HDFS assigné, calculant des structures partielles d’arbre de décision et des statistiques de division locales — y compris les valeurs de gain d’information et d’indice de Gini — pour chaque attribut candidat, sans avoir besoin d’accéder aux données stockées sur d’autres nœuds. Lors de la phase de réduction, les arbres partiels calculés localement et les statistiques suffisantes sont agrégés sur tous les nœuds pour construire l’arbre de décision global complet, consolidant les connaissances distribuées apprises à chaque nœud en un modèle prédictif unifié unique. Cette décomposition par réduction cartographique du processus de construction d’arbres permet au modèle CViHDDT de s’adapter linéairement au nombre de nœuds ouvriers, rendant l’analyse en temps réel de jeux de données médicales à grande échelle calculablement réalisable. Le flux de travail MapReduce supporte également l’exécution distribuée de procédures de visualisation de cluster, dans lesquelles des algorithmes de clustering sont appliqués en parallèle à travers des blocs de données HDFS pour regrouper les dossiers patients en catégories de risque selon leurs assignations de nœuds dans l’arbre de décision. L’évaluation des performances du modèle résultant utilise la précision, le rappel, le score F1 et la précision de classification comme métriques principales, la visualisation distribuée du cluster réduisant encore les faux négatifs en permettant des limites de décision plus fines dans l’arbre — améliorant directement la sensibilité pour identifier les patients à risque et renforçant la fiabilité clinique du cadre de prédiction des maladies cardiaques CViHDDT.
Voisin K distribué en cluster (CViHDKNN)
Regroupement
Le cadre CViHDKNN (Cluster Visualized Hadoop Distributed K-Nearest Neighbor) commence par appliquer des techniques de clustering au jeu de données des maladies cardiaques avant la classification, regroupant les patients présentant des caractéristiques médicales similaires en groupes cohérents avant la recherche KNN. Le jeu de données sur les maladies cardiaques, contenant des caractéristiques cliniques telles que l’âge, le taux de cholestérol, la tension artérielle, les résultats ECG et la fréquence cardiaque, est prétraité et réparti sur les nœuds du cluster Hadoop à l’aide de HDFS. Des algorithmes de regroupement, y compris K-Means et Hierarchical Clustering, sont ensuite appliqués sur ces partitions de données distribuées pour diviser l’ensemble de données en groupes de patients partageant des profils médicaux apparentés. Cette étape de pré-classification remplit un objectif informatique essentiel : en limitant l’espace de recherche KNN uniquement au cluster le plus pertinent plutôt qu’à l’ensemble de données, l’algorithme réduit considérablement le nombre de calculs de distance requis par instance de requête. La visualisation de ces groupes apporte un bénéfice clinique supplémentaire en permettant l’identification de sous-groupes de patients présentant des caractéristiques médicales étroitement apparentées et en soutenant une catégorisation plus significative des profils de risque avant l’étape de classification du plus proche voisin. L’optimisation basée sur le regroupement réduit non seulement la surcharge de calcul, mais améliore également la précision de la classification en garantissant que chaque instance de requête soit comparée uniquement aux dossiers patients les plus similaires dans le contexte, ce qui rend cette approche particulièrement adaptée aux ensembles de données de grandes enjeux de données sur les maladies cardiaques où un calcul exhaustif de distance sur l’ensemble de données serait prohibitif sur le plan de données.
KNN distribué
Le composant KNN distribué de CViHDKNN répond à la limitation fondamentale de l’évolutivité du KNN traditionnel, qui nécessite de charger l’ensemble de l’ensemble de données en mémoire avant de calculer les distances entre l’instance de requête et tous les points de données stockés. Dans le cadre CViHDKNN, ce calcul de distance est parallélisé entre plusieurs nœuds travailleurs du cluster Hadoop à l’aide de partitions de données distribuées HDFS, garantissant qu’aucun nœud unique n’est nécessaire pour traiter l’ensemble complet de l’ensemble. Chaque nœud travailleur calcule indépendamment la distance entre l’instance de requête et les dossiers patients stockés dans son fragment de données HDFS assigné localement, identifiant les voisins locaux les plus proches dans sa partition. En exploitant les capacités de traitement parallèle de Hadoop, CViHDKNN améliore considérablement la scalabilité et permet une gestion efficace de vastes quantités de données de patients liés à la santé. Cette architecture distribuée renforce également la sécurité des données, car les dossiers patients sensibles restent dans l’environnement du cluster distribué plutôt que d’être transférés vers des serveurs cloud externes ou des machines locales centralisées. La combinaison de réduction de l’espace de recherche guidée par clustering et du calcul de distance distribué par Hadoop donne un système qui atteint à la fois efficacité computationnelle et précision prédictive, permettant la prédiction en temps réel des maladies cardiaques sur de grands ensembles de données médicales. Les résultats expérimentaux confirment que l’implémentation distribuée atteint une précision de classification de 85,25 %, ce qui représente une amélioration significative des performances par rapport à la base traditionnelle du KNN non distribué, attribuable directement à la stratégie de traitement distribué améliorée par le clustering.
Classification
L’étape de classification de CViHDKNN attribue chaque instance de patient interrogé à une classe de maladies cardiaques basée sur la majorité des voix parmi ses K voisins les plus proches identifiés via le processus de recherche distribuée. Le choix de la valeur K influence directement les résultats de classification et la précision prédictive. Lorsque K = 1, l’instance de requête est attribuée à l’étiquette de classe de son voisin le plus proche, ce qui crée une frontière de décision très localisée qui peut être sensible au bruit dans les données d’entraînement. Lorsque K = 3, la classification est déterminée par la classe majoritaire parmi les trois voisins les plus proches — par exemple, si deux voisins appartiennent à la classe 1 (pas de maladie cardiaque) et l’un de la classe 2 (maladie cardiaque présente), l’instance interrogée est classée comme classe 1, offrant une décision plus robuste et plus tolérante au bruit. La phase de réduction MapReduce agrège les plus proches voisins localement identifiés de tous les nœuds travailleurs dans une liste classée globalement, à partir de laquelle les K plus proches voisins sont sélectionnés, puis calcule le vote majoritaire pour produire la prédiction finale de classe. La performance du cadre de classification CViHDKNN est évaluée en utilisant la précision, le rappel, le score F1 et la précision globale de la classification comme indicateurs principaux. L’intégration de la recherche en cluster avec le vote majoritaire distribué produit des limites décisionnelles plus fines et plus précises que le KNN standard, réduisant les faux négatifs dans l’identification des patients à risque et améliorant la sensibilité, deux exigences cruciales pour une prédiction cliniquement fiable des maladies cardiaques dans des environnements d’analyse distribuée de santé à grande échelle.