Article de méthode

Prédiction des maladies cardiaques à l’aide de la sélection statistique des caractéristiques et de l’apprentissage automatique interprétable

DOI :

10.3791/71170

5 juin 2026

Dans cet article

Résumé

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Ce protocole décrit un cadre d’apprentissage automatique pour la prédiction des maladies cardiaques qui combine l’augmentation des données à l’aide de réseaux antagonistes génératifs, la sélection de caractéristiques basée sur des statistiques et métaheuristiques, ainsi qu’une intelligence artificielle explicable.

Résumé

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les maladies cardiaques sont une cause majeure de décès dans le monde, faisant de leur prédiction précoce un enjeu clinique et informatique important. Plusieurs études ont abordé individuellement des défis tels que la rareté des données, la sélection des caractéristiques et l’interprétabilité des modèles, mais moins d’études ont proposé un cadre intégré qui aborde ces défis de manière synergique. Cet article présente un cadre prédictif complet qui utilise : (1) un réseau antagoniste génératif (GAN) pour traiter le déséquilibre de classe et la rareté des données ; (2) une approche hybride de sélection de caractéristiques qui combine le préfiltrage statistique via le test t de Welch et la taille de l’effet d de Cohen, ainsi qu’une optimisation métaheuristique via l’optimisation Harris Hawk ; et (3) diverses méthodes d’intelligence artificielle explicables, incluant le SHAP, les graphiques de dépendance partielle et les rapports de cotes. Ce cadre a été évalué sur les ensembles de données Cleveland et Statlog, offrant une forte précision, des scores F1 et des valeurs ROC-AUC comparées à certaines références et méthodes existantes. Le modèle fournit un cadre computationnel robuste et interprétable pour la prédiction des maladies cardiaques, reliant la performance en apprentissage automatique à l’interprétabilité clinique.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les maladies cardiovasculaires sont l’une des principales causes de morbidité et de mortalité dans le monde, représentant environ 17,9 millions de décès par an1. Une prédiction précoce et précise des maladies cardiaques est importante pour une intervention rapide et de meilleurs résultats pour les patients. Dans ce contexte, la prédiction des maladies cardiaques utilisant des algorithmes d’apprentissage automatique (ML) fait face à trois défis majeurs : la disponibilité limitée de données médicales de haute qualité, les espaces de caractéristiques à haute dimension contenant des variables redondantes ou non pertinentes, et la nature en boîte noire des modèles complexes, qui peuvent entraver la confiance clinique et l’adoption2. Des travaux récents ont combiné l’apprentissage automatique avec des méthodes d’intelligence artificielle explicable (XAI) pour la prédiction des maladiescardiaques 3. De nombreux chercheurs ont également utilisé l’apprentissage automatique automatique pour la prédiction et la détection des maladiescardiaques 4. Les développements récents en intelligence artificielle générative, en particulier les réseaux antagonistes génératifs (GAN), sont prometteurs pour l’augmentation des données dans le domaine de la santé5. Simultanément, des algorithmes métaheuristiques tels que l’optimisation Harris Hawk (HHO) et l’optimisation en essaim de particules (PSO) se sont révélés efficaces dans la sélection des caractéristiques et l’optimisation desmodèles 6. Les techniques XAI, telles que SHAP et les graphiques de dépendance partielle (PDP), sont également apparues comme des outils importants pour interpréter les prédictions complexesde modèles 7. De nombreuses études sur des modèles ML pour la prédiction du risque cardiovasculaire ont étémenées 8.

Cependant, la littérature disponible aborde souvent ces questions de manière isolée. Certaines études se concentrent sur l’augmentation des données utilisantGANs 9, tandis que d’autres se concentrent spécifiquement sur la sélection de caractéristiques à l’aide d’algorithmes métaheuristiques10 ou sur l’interprétabilité des modèles basée sur les méthodesXAI 11. L’augmentation basée sur SMOTE a été explorée pour la prédiction de survie à l’insuffisancecardiaque 12. Le diagnostic de maladies cardiaques basées sur le KNN a également étérapporté 13. Ces approches distinctes ne tirent pas pleinement parti des avantages combinés qui peuvent être obtenus par un cadre intégré qui traite ensemble la rareté des données, la sélection des fonctionnalités, l’entraînement des modèles et l’interprétabilité.

Des études récentes ont exploré des approches connexes. Une étude de 2026 publiée dans Frontiers in Medicine a proposé des classificateurs hétérogènes optimisés pour PSO avec interpolation par bourrage et imputation médiane pour le diagnostic des maladies cardiaques, obtenant une précision de 91,3 % sur un ensemble de donnéesfusionné 14. D’autres travaux récents ont appliqué l’optimisation métaheuristique pour la segmentation d’imagesmédicales 15, XAI pour la prédiction de l’AVC16, l’optimisation hybride pour la classification des arythmiescardiaques 17, et les systèmes d’aide à la décision clinique améliorésSHAP 18. Cependant, peu de ces études combinent l’augmentation générative, la sélection statistique des caractéristiques à double critère avec l’optimisation HHO, et le XAI multi-méthode dans un cadre intégré unique.

Cet article vise à combler cette lacune en proposant un cadre de prédiction des maladies cardiaques qui intègre systématiquement l’augmentation des données, la sélection hybride des caractéristiques, l’optimisation et l’entraînement des modèles, ainsi que l’analyse de l’explicabilité. À l’étape d’augmentation des données, les GAN sont utilisés pour synthétiser des données cliniques tabulaires en fonction des caractéristiques des patients telles que l’âge, la pression artérielle, le taux de cholestérol et les mesures électrocardiogramtiques. Bien que les GAN soient largement utilisées pour la génération d’images médicales, cette étude les applique à l’ensemble de données Cleveland Heart Disease, qui contient 13 caractéristiques numériques et catégorielles, afin de traiter la taille limitée de l’échantillon (n = 303) et le déséquilibre de classes. Au stade hybride de sélection des caractéristiques, le test t de Welch et la taille de l’effet d de Cohen sont combinés avec HHO pour identifier des sous-ensembles de caractéristiques statistiquement robustes et cliniquement pertinents. Lors de l’optimisation et de l’entraînement du modèle, le PSO est utilisé pour optimiser les poids du réseau de neurones artificiel, tandis que les modèles de régression logistique et de forêt aléatoire sont entraînés en raison de leur équilibre entre performance et explicabilité. Au stade de l’explicabilité, des techniques XAI complémentaires, incluant SHAP, PDP et odds ratios, sont utilisées pour fournir des interprétations globales et locales des modèles.

Le flux de travail global du cadre proposé est illustré à la Figure 1. Le tableau 1 résume les principales différences entre l’approche proposée et les méthodes existantes de sélection des caractéristiques [Tableau 1 ici].

figure-introduction-1
Figure 1 : Aperçu du cadre proposé de prédiction des maladies cardiaques. Le flux de travail comprend quatre phases principales : (1) prétraitement et augmentation des données à l’aide de GAN pour répondre à la rareté des données ; (2) sélection hybride de caractéristiques combinant filtrage statistique (test t de Welch avec d de Cohen) et optimisation de Harris Hawk ; (3) entraînement de modèles avec des classificateurs interprétables, incluant la régression logistique et la forêt aléatoire, ainsi qu’un réseau neuronal optimisé pour PSO ; et (4) analyse de l’explicabilité utilisant SHAP, des graphiques de dépendance partielle et des rapports de cotes. Abréviations : GAN = réseaux adversaires génératifs ; PSO = Optimisation des essaims de particules ; ANN = Réseau de neurones artificiels. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Catégorie d’approcheTest statistique (par exemple, test t)Taille de l’effet (par exemple, le d de Cohen)Optimisation métaheuristique (par exemple, HHO/PSO)Focus sur l’interprétabilité
Statistique traditionnelleOuiRarementNonModéré
Optimisation pureNonNonOuiLow
Méthodes hybrides existantesParfoisRarementOuiVariable
Cadre proposéOui (test t de Welch)Oui (D ≥ 0,5 de Cohen)Oui (HHO)Haut (intégré à XAI)

Tableau 1 : Comparaison des approches de sélection des caractéristiques dans la prédiction des maladies cardiaques. Les approches comparées incluent la statistique traditionnelle, l’optimisation pure, les méthodes hybrides existantes et le cadre proposé selon les critères suivants : tests statistiques, taille d’effet, optimisation métaheuristique, et focus sur l’interprétabilité.

Les principales contributions de ce travail sont les suivantes. Premièrement, pour traiter la rareté des données et le déséquilibre de classes, un GAN standard avec perte binaire d’entropie croisée et optimisation Adam est mis en œuvre, ainsi qu’un replié de perturbation gaussienne lorsque TensorFlow n’est pas disponible. Deuxièmement, pour corriger la redondance des caractéristiques, une stratégie hybride de sélection des caractéristiques est proposée combinant le préfiltrage statistique avec le HHO à l’aide d’une fonction de transfert en V. Cette approche à double critère vise à sélectionner des caractéristiques à la fois statistiquement significatives et cliniquement pertinentes. Troisièmement, pour traiter l’opacité du modèle, une suite d’explicabilité multi-méthodes est intégrée, incluant des graphiques SHAP beeswarm et en cascade, des PDP et des odds ratios avec des intervalles de confiance à 95 %. Un protocole de réconciliation simple est proposé aux utilisateurs cliniques : si un PDP présente une tendance non linéaire, l’explication du SHAP doit être priorisée par rapport aux coefficients de régression logistique. Quatrièmement, pour soutenir la reproductibilité et la validation structurée, le cadre inclut la validation croisée stratifiée, l’audit d’équité, des études d’ablation, un protocole de validation externe pour MIMIC-III, ainsi que la documentation des hyperparamètres clés.

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Protocole

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Déclaration d’éthique, jeu de données, logiciels et préparation des données
Les résultats de cette étude sont basés sur le jeu de données sur les maladies cardiaques du dépôt d’apprentissage automatique de l’UCI. Comme il s’agit d’une ressource accessible au public et dénommée, son utilisation ne nécessitait pas l’approbation d’un comité éthique. Les auteurs vérifient également l’originalité de ce manuscrit, confirmant qu’il n’a pas été publié auparavant ni soumis à d’autres revues.

L’ensemble de données sur les maladies cardiaques de Cleveland a été divisé en ensembles d’entraînement et de test à 80/20. Le jeu de données contient généralement 303 instances ; par conséquent, environ 242 échantillons ont été utilisés pour la formation, et 61 échantillons ont été conservés comme ensemble de tests propres. Des échantillons synthétiques générés par la méthode GAN ou Gaussian Fallback n’ont été ajoutés qu’aux données d’entraînement afin de réduire le risque de fuite de données. Le dernier ensemble d’entraînement augmenté comprenait environ 242 échantillons réels et 1 000 échantillons synthétiques, soit 1 242 échantillons d’entraînement. Aucun ensemble fixe de validation statique n’a été utilisé. À la place, une validation croisée stratifiée a été appliquée lors de l’entraînement du modèle, chaque pli divisant les données d’entraînement augmentées en sous-ensembles d’entraînement et de validation.

Le jeu de données a été chargé dans un DataFrame Pandas et inspecté pour détecter des valeurs manquantes. Les caractéristiques numériques sans valeurs ont été traitées en utilisant l’imputation médiane avec la classe SimpleImputer issue de scikit-learn en utilisant la stratégie = « médiane ». Les caractéristiques catégoriques avec des valeurs manquantes ont été traitées en imputation en mode avec SimpleImputer en utilisant stratégie = 'most_frequent'. Les mécanismes de manque ont été documentés en calculant le pourcentage manquant pour chaque caractéristique à l’aide de df.isnull().sum() / len(df). Les schémas de manque non aléatoires ont été évalués en comparant les valeurs moyennes d’autres caractéristiques entre des échantillons avec ou sans données manquantes à l’aide de tests t. pour les caractéristiques numériques et des tests chi-carré pour les caractéristiques catégorielles. L’absence a ensuite été documentée comme Manquante complètement au hasard (MCAR), Manquante au hasard (MAR), ou Manquante non aléatoire (MNAR), lorsque cela correspondait.

Pour les jeux de données présentant une absence importante, une analyse de sensibilité a été recommandée en comparant l’imputation médiane/mode avec l’imputation multiple par équations enchaînées (MICE), en utilisant fancyimpute. Itératifimputer avec max_iter = 10, et imputation KNN, utilisant fancyimpute. KNN avec k = 5. Une différence de précision inférieure à 0,03 a été traitée comme indiquant la robustesse de la méthoded’imputation 12. Cette analyse de sensibilité était considérée comme optionnelle pour le jeu de données de Cleveland en raison de son absence limitée, mais elle était recommandée pour d’autres jeux de données cliniques avec plus de 5 % de valeurs manquantes. Les motifs de manque ont également été visualisés à l’aide de la bibliothèque missingno en générant une carte thermique de matrice manquante avec msno.matrix(df). Le regroupement des schémas de manque a été utilisé pour identifier systématiquement si les valeurs manquantes coexistaient, ce qui pourrait indiquer des mécanismes MNAR nécessitant l’intervention d’un expert clinique.

Les caractéristiques numériques ont été standardisées par normalisation z-score. StandardScaler de scikit-learn était ajusté sur les données d’entraînement puis appliqué à la fois aux ensembles d’entraînement et de test. Les variables catégorielles étaient encodées à l’aide d’un encodage à une seule phase. Le type de douleur thoracique (cp), qui comprend quatre catégories, a été converti en quatre colonnes indicatrices binaires à l’aide de pandas.get_dummies. La thalsémie (thal), qui comprend trois catégories, a été convertie en trois colonnes indicatrices binaires. Parce que le générateur et le discriminateur GAN utilisaient une dimension fixe d’entrée/sortie de 13 caractéristiques correspondant au jeu de données original avant l’encodage one-hot, des échantillons synthétiques étaient générés dans l’espace original de 13 caractéristiques puis passés par le même pipeline d’encodage one-hot que les données réelles. Cela prétenait la compatibilité avec l’architecture GAN tout en permettant l’utilisation de fonctionnalités encodées pour l’entraînement des modèles.

Définitions mathématiques et métriques de qualité
La distance de Fréchet a été utilisée pour comparer les distributions de caractéristiques réelles et synthétiques. La distance de Fréchet Fr(F, G) entre deux distributions F et G a été définie comme suit :

Fr2(F,G)=minX,YE|X-Y|2 (1)

où E représente l’espérance, et la minimisation est prise sur toutes les variables aléatoires X et Y ayant des distributions F et G, respectivement19.

L’optimisation Harris Hawk (HHO) a été utilisée comme méthode d’optimisation métaheuristique. HHO s’inspire du comportement de chasse coopératif des fauconsHarris 20. La transition entre les phases d’exploration et d’exploitation était contrôlée par l’énergie d’évasion E. En phase d’exploration, où |E| ≥ 1er, la mise à jour a été définie comme suit :

X(t+1) = Xrand (t) - r1 | Xrand (t) - 2r2X (t)|

En phase d’exploitation, où |E| < 1, les mises à jour étaient déterminées par l’énergie d’échappement E = 2E(1 − t/T) et la force du saut J = 2(1 − r5). Dans la condition de siège souple, où sont ≥ 0,5 et |E| ≥ 0.5, la mise à jour a été définie comme suit :

X(t+1) = ΔX(t) - E|JX lapin (t) - X(t)|

En condition de siège dur, où sont ≥ 0,5 et |E| < 0.5, la mise à jour était définie comme suit :

X(t+1) = Xlapin (t) - E|ΔX(t)|

L’équité a été évaluée à l’aide de la parité statistique et de l’équilibre du taux d’erreur, suivant Hardt et al.20 et Lima et al.21. La différence de parité démographique, la différence de cotes égalisée et l’erreur d’étalonnage basée sur l’âge ont été utilisées comme indicateurs d’équité.

figure-protocol-1

ΔEO = max(|TPRA - TPRB |,| FPRA - FPRB |)

ΔBS=|BS âge<50 -BS âge>50 |

où BS est le score Brier :

figure-protocol-2

L’interprétabilité du tableau de bord était basée sur les valeurs SHAP, calculées à l’aide de la théorie des jeux de coalition18.

figure-protocol-3

Φi représente l’attribution SHAP pour la caractéristique i, F. f(S) représente l’ensemble de toutes les caractéristiques, et représente la prédiction du modèle pour un sous-ensemble de caractéristiques S.

Augmentation de données basée sur GAN
Pour traiter la rareté des données et le déséquilibre de classe, un réseau antagoniste génératif (GAN) a été utilisé pour générer des échantillons synthétiques. L’architecture du générateur était configurée dans TensorFlow/Keras. Il acceptait un vecteur de bruit de 100 dimensions échantillonné à partir d’une distribution normale standard N(0,1), suivi de couches denses avec 128, 256 et 512 unités grâce à l’activation ReLU. La couche de sortie contenait 13 unités, correspondant à la dimension originale des caractéristiques, et utilisait l’activation sigmoïde.

L’architecture discriminatrice acceptait un vecteur de caractéristiques de dimension 13 en entrée. Il était constitué de couches denses avec 512, 256 et 128 unités utilisant une activation LeakyReLU avec α = 0,2. La couche de sortie contenait une unité avec activation sigmoïde pour la classification binaire des échantillons réels versus synthétiques.

Le GAN a été entraîné pendant 100 époques en utilisant une taille de 64 lots. L’optimiseur Adam était utilisé avec un taux d’apprentissage de 0,0002, β1 = 0,5 et β2 = 0,999. À chaque époque, le discriminateur était alterné sur des lots réels et synthétiques, et le générateur était entraîné pour tromper le discriminateur. Après l’entraînement, 1 000 vecteurs de bruit aléatoire étaient entrés dans le générateur pour produire 1 000 échantillons synthétiques, qui n’étaient ajoutés qu’à l’ensemble d’entraînement.

L’effondrement des modes était surveillé lors de l’entraînement GAN en mesurant la variance de chaque caractéristique synthétique sur 100 échantillons générés après chaque 10 époques. Si la variance d’une caractéristique descendait en dessous de 10 % de la variance correspondante des données réelles pendant trois vérifications consécutives, on soupçonnait un effondrement de mode. Les stratégies d’atténuation comprenaient la réduction du taux d’apprentissage à 1 × 10⁻4, l’augmentation de la taille du groupe à 128, la reprise de l’entraînement avec une initialisation de poids différente, ou le remplacement du GAN standard par le GAN de Wasserstein par pénalité de gradient (WGAN-GP), tel que décrit par Arjovsky et al.17. L’implémentation utilisait un GAN standard avec un repli de perturbation gaussienne afin d’assurer la génération de données synthétiques lorsque TensorFlow n’était pas disponible.

La qualité des données synthétiques a été évaluée en calculant la distance de Fréchet entre les distributions de caractéristiques réelles et synthétiques à l’aide d’une implémentation personnalisée. Un classificateur, tel que la régression logistique, a également été entraîné pour distinguer les échantillons réels des échantillons synthétiques ; La précision de la classification proche du hasard a été considérée comme indiquant une haute fidélité. L’AUC de rappel de précision a été calculé, avec des valeurs supérieures à 0,9 considérées comme indicatives d’une bonne capture de la distribution. Les corrélations de Pearson entre les paires de caractéristiques dans les ensembles de données réelles et synthétiques ont également été comparées, les différences inférieures à 0,05 étant considérées comme une préservation acceptable de la structure de corrélation.

Lorsque TensorFlow/Keras n’était pas disponible ou que l’entraînement GAN échouait, une méthode de secours par perturbation gaussienne était utilisée. Pour chaque classe, la moyenne (μ) et l’écart-type (σ) de chaque caractéristique étaient calculées à partir de l’ensemble d’entraînement. Les échantillons synthétiques ont ensuite été générés comme suit :

Xsynthetic = μ + ε × σ × 0,05, où ε ~ N(0,1)

Les étiquettes de classe étaient générées en proportion de la distribution de classes initiale. Cette solution de secours a été incluse pour soutenir la reproductibilité à travers des environnements sans dépendances à l’apprentissage profond.

Sélection de caractéristiques hybrides
Une stratégie hybride de sélection des caractéristiques en deux étapes a été appliquée. Lors de la première étape, un préfiltrage statistique a été effectué. Pour chaque caractéristique xi dans l’ensemble X, les valeurs étaient divisées en deux groupes selon la variable binaire de résultat : G0 pour y = 0, indiquant l’absence de maladie, et G1 pour y = 1, indiquant la présence de la maladie. Le test t à deux échantillons de Welch a été réalisé en utilisant scipy.stats.ttest_ind avec equal_var = Faux. La taille de l’effet d de Cohen a ensuite été calculée comme suit :

d = (moyenne1 − moyenne2) / pooled_std

où :

pooled_std = sqrt((std12 + std22)/2)

Le nom de la caractéristique, la valeur p et la valeur d de Cohen étaient stockés dans un tableau de résultats. Les caractéristiques ont été sélectionnées si elles répondaient aux deux critères : valeur p < 0,05 et |Le d| de Cohen ≥ 0,5. L’ensemble de fonctionnalités résultant a été défini comme Xfiltered.

Le test t de Welch a été utilisé car il convient à des caractéristiques numériques continues telles que l’âge, le thalach et l’ancienne pointe. Pour les caractéristiques catégorielles binaires telles que le sexe et l’exang, le test T. produit des résultats comparables à un test de proportion lors de la comparaison de deux groupes. Les caractéristiques multi-catégoriques telles que cp et thal ont été encodées en un seul hot, et chaque indicateur binaire a été testé individuellement par rapport à la variable de résultat. Cette approche a été jugée appropriée car l’ensemble de données de Cleveland compte plus de 30 échantillons, les caractéristiques ont été standardisées avant analyse, et equal_var = False prend en compte les variances inégales entre groupes. Pour les caractéristiques présentant des violations graves de la normalité, le test U de Mann-Whitney a été considéré comme un test non paramétrique alternatif.

Le seuil p < 0,05 suivait la signification statistique conventionnelle, tandis que |Le d| de Cohen ≥ 0,5 correspondait à une taille d’effet modérée à grande. Pour les ensembles de données avec des échantillons de petite taille ou des résultats rares, un ajustement basé sur le bootstrap, la correction g de Hedges ou des seuils exploratoires assouplissants ont été recommandés avec une contribution clinique experte. Par exemple, 1 000 rééchantillons bootstrap pourraient être utilisés pour calculer les intervalles de confiance d de Cohen, et g de Hedges pourrait être appliqué pour corriger le biais de petit échantillon. Caractéristiques avec des statistiques limites, telles que des valeurs p entre 0,03 et 0,08 ou |d| Des valeurs comprises entre 0,4 et 0,6 ont été documentées pour une éventuelle revue d’experts cliniques avant exclusion.

Lors de la deuxième étape, l’optimisation Harris Hawk (HHO) a été appliquée à l’ensemble de fonctionnalités filtré statistiquement. La taille de la population de HHO a été fixée à 20, et le nombre maximal d’itérations a été fixé à 50. Chaque solution était représentée par un vecteur binaire de longueur égale au nombre de caractéristiques dans Xfiltered, où 1 indiquait qu’une caractéristique avait été sélectionnée et 0 qu’elle n’était pas sélectionnée. Les positions continues du HHO ont été mappées à des vecteurs binaires à l’aide de la fonction de transfert en V :

T(x) = |tanh(x)|

La valeur binaire était fixée à 1 si T(x) > 0,5 et à 0 sinon. La fonction en V a été choisie car elle permet l’exploration équilibrée et l’exploitation lors de la conversion binaire.

La fonction d’aptitude pour chaque solution a été définie à l’aide de la régression logistique. Un modèle de régression logistique a été entraîné en utilisant uniquement les caractéristiques sélectionnées par le vecteur binaire, et une validation croisée à 5 fois a été réalisée à l’aide de cross_val_score issues de scikit-learn. La valeur physique était calculée comme suit :

Aptitude = 1 − précision moyenne

La population des positions des faucons a été initialisée uniformément dans la plage [−1, 1] en utilisant numpy.random.uniform(−1, 1, (population_size, n_features)) avec une graine aléatoire fixe de 42 pour la reproductibilité. À chaque itération, la condition physique de tous les buses était évaluée, la meilleure position du busard identifiée comme étant le lapin, et les positions des buses étaient mises à jour à l’aide des équations d’exploration et d’exploitation du HHO basées sur l’énergie d’échappement. Après la convergence, le vecteur binaire le mieux performant était sélectionné comme sous-ensemble final de caractéristiques, Xfinal.

Les caractéristiques sélectionnées ont été enregistrées à partir d’une seule exécution d’optimisation HHO avec une graine aléatoire fixe. Pour les applications nécessitant une confiance statistique plus élevée, 30 séries indépendantes avec différentes graines aléatoires ont été recommandées, et des caractéristiques de consensus apparaissant dans au moins 80 % des séries ont pu être sélectionnées. La mise en œuvre rapportée reposait sur une seule exécution représentative, les tests préliminaires indiquant une convergence cohérente.

Entraînement et optimisation du modèle
Trois modèles ont été envisagés : la régression logistique, la forêt aléatoire et un réseau neuronal artificiel (ANN) optimisé pour PSO. La régression logistique a été entraînée à l’aide d’une validation croisée stratifiée à 5 points pour maintenir la répartition des classes. La force de régularisation C a été optimisée à l’aide de l’espace de recherche C figure-protocol-4 [0,001, 0,01, 0,1, 1, 10]. Pour chaque pli et chaque valeur de C, le modèle était entraîné sur le pli d’entraînement et évalué sur le pli de validation. La valeur de C qui maximisait la précision moyenne de validation à travers les plis a été sélectionnée.

Le modèle Random Forest a été entraîné en utilisant l’ajustement des hyperparamètres. L’espace de recherche comprenait max_depth = [5, 10, 15, Aucun] et min_samples_split = [2, 5, 10]. La recherche en grille avec validation croisée à 5 reprises a été réalisée en utilisant ROC-AUC comme métrique d’optimisation via GridSearchCV avec un score = 'roc_auc'. Le modèle de forêt aléatoire sélectionné utilisait max_depth = 10 et min_samples_split = 5. L’estimation des scores hors sac (OOB) était activée en utilisant oob_score = Vrai.

Le surapprentissage a été évalué en calculant l’écart entre la précision de l’entraînement et le score OOB :

overfitting_gap = training_accuracy − oob_score

Un écart de surajustement inférieur à 0,05 était considéré comme indicateur d’une bonne généralisation, tandis qu’un écart supérieur à 0,10 indiquait la nécessité de réduire max_depth ou d’augmenter min_samples_split. Avec un score OOB de 0,9296 et une précision typique de l’entraînement comprise entre 0,94 et 0,96, l’écart était d’environ 0,01 à 0,03.

Un classificateur ANN a également été optimisé en utilisant l’optimisation par essaim de particules (PSO). L’architecture ANN comprenait une couche d’entrée, une couche cachée avec 64 neurones utilisant l’activation ReLU, et une couche de sortie avec un neurone utilisant l’activation sigmoïde. PSO a été initialisé avec 50 particules et 50 itérations et utilisé pour optimiser les poids initiaux du réseau. L’ANN était ensuite entraîné en utilisant la rétropropagation standard. Parce que l’optimisation PSO était effectuée sur les mêmes données d’entraînement sans validation croisée imbriquée, ce composant était traité avec prudence. Pour les applications futures, une validation croisée imbriquée a été recommandée, avec une boucle externe 10 pour l’évaluation et une boucle interne 10 pour la sélection des hyperparamètres PSO. Un écart de généralisation inférieur à 0,08 était considéré comme acceptable, tandis qu’un écart supérieur à 0,15 indiquait un surajustement potentiel nécessitant une simplification du modèle.

Évaluation du modèle
L’évaluation du modèle a été réalisée à l’aide d’une validation croisée stratifiée 10 fois sur l’ensemble final de fonctionnalités, Xfinal. Dans chaque plongement, des modèles de régression logistique et de forêt aléatoire ont été entraînés sur les données d’entraînement et évalués sur les données de validation. Précision, Précision, Rappel, F1-score et ROC-AUC ont été calculés à l’aide de classification_report et roc_auc_score issues de scikit-learn. La moyenne et l’écart-type de toutes les métriques ont été calculées sur les 10 multipliés.

L’écart de généralisation a également été calculé pour chaque pli comme suit :

generalization_gap = training_accuracy − validation_accuracy

L’écart moyen de généralisation sur les 10 fois a été rapporté. Un écart moyen inférieur à 0,08 était considéré comme indiquant un surajustement minimal, tandis qu’un écart supérieur à 0,15 suggérait un surajustement et la nécessité de régularisation ou de réduction de la complexité du modèle. Des tests de Wilcoxon à rang signé ont été réalisés pour comparer le cadre proposé aux méthodes de référence sur 10 fois en utilisant α = 0,01.

Analyse de l’explicabilité
L’analyse de l’explicabilité a été réalisée à l’aide de méthodes spécifiques et indépendantes du modèle. Pour la régression logistique, le modèle final a été ajusté et les valeurs de coefficients ont été extraites pour chaque caractéristique sélectionnée. Les rapports de cotes ont été calculés en exp (coefficient), et des intervalles de confiance à 95 % ont été calculés à l’aide des erreurs standard des coefficients.

Pour Random Forest, les scores d’importance de Gini ont été extraits du modèle entraîné en utilisant l’attribut feature_importances_ et normalisés pour faire 1. Les explications SHAP étaient générées à l’aide de la bibliothèque SHAP. Un objet KernelExplainer a été créé à l’aide du modèle entraîné et d’un jeu de données de fond, tel que 100 échantillons d’entraînement sélectionnés au hasard. Les valeurs SHAP étaient calculées pour toutes les instances de l’ensemble de test à l’aide de shap_values. Les graphiques résumés des essaims d’abeilles ont été générés en utilisant shap.summary_plot, et des graphiques en barres des valeurs absolues moyennes de SHAP ont été générés en utilisant shap.bar_plot.

Des graphiques de dépendance partielle (PDP) ont été générés pour les principales caractéristiques identifiées par l’analyse SHAP. Pour chaque caractéristique sélectionnée, une séquence de valeurs couvrant toute la plage de caractéristiques était créée. Chaque valeur a été substituée dans la colonne des caractéristiques tout en maintenant les autres caractéristiques constantes, et la probabilité moyenne prédite a été calculée sur toutes les instances. Les valeurs des caractéristiques ont été tracées selon les prédictions moyennes à l’aide de matplotlib. Des intervalles de confiance de 95 % ont été ajoutés à l’aide de 100 itérations de rééchantillonnage bootstrap.

Des graphiques d’espérance conditionnelle individuelle (ICE) ont été générés pour des caractéristiques sélectionnées en traçant des trajectoires de prédiction pour des instances individuelles au fur et à mesure que les valeurs des caractéristiques changeaient. La ligne PDP a été superposée sur le terrain de l’ICE. Les méthodes d’explication ont été comparées en calculant la corrélation de rang de Spearman entre les rapports de cotes de régression logistique et les valeurs de SHAP de forêt aléatoire à l’aide de scipy.stats.spearmanr. Des divergences entre les méthodes d’explication ont été documentées pour l’interprétation clinique. Lorsque les coefficients de régression SHAP et logistique étaient en conflit, la PDP de cette caractéristique a été examinée. Si le PDP montrait une tendance non linéaire, l’explication SHAP était privilégiée par rapport au coefficient de régression logistique, car la forêt aléatoire peut capturer des relations non linéaires que les modèles linéaires ne peuvent pas.

Protocole de généralisation du cadre pour la validation externe utilisant MIMIC-III
Un protocole de validation externe a été défini pour appliquer ce cadre à la base de données MIMIC-III. L’accès à MIMIC-III nécessiterait l’approbation de PhysioNet et la formation requise pour sujets humains. La cohorte proposée inclurait des patients adultes âgés de 18 ans ou plus ayant une première admission en réanimation et les codes CIM-9 410–414 pour l’infarctus aigu du myocarde ou les codes CIM-10 I20–I25 pour la maladie cardiaque ischémique. Les critères d’exclusion incluraient plus de 30 % de valeurs manquantes dans les caractéristiques ciblées, la durée de séjour inférieure à 24 heures, l’âge supérieur à 90 ans, une chirurgie cardiaque antérieure ou une cardiopathie congénitale.

Le résultat proposé était des événements indésirables majeurs (ECM) dans les 72 heures suivant l’admission, définis comme un mélange de mortalité hospitalière, de choc cardiogénique ou d’arythmie ventriculaire nécessitant une intervention. Les caractéristiques de séries temporelles telles que la fréquence cardiaque et la pression artérielle seraient agrégées au cours des 24 premières heures de séjour en soins intensifs en utilisant la moyenne, la médiane, le minimum, le maximum et la tendance, où la tendance serait estimée comme la pente de la régression linéaire dans le temps. La fréquence cardiaque maximale serait utilisée comme équivalent cartographié du thalach.

Les caractéristiques du jeu de données Cleveland seraient mappées aux variables MIMIC-III. Par exemple, le thalach serait mappé à la fréquence cardiaque maximale enregistrée durant les premières 24 heures de séjour en réanimation, la cp serait associée à des évaluations structurées de la douleur et aux mentions de douleurs thoraciques extraites par NLP, et oldpeak serait mappée à une déviation du segment ST par rapport aux rapports ECG. Une table de cartographie serait créée pour documenter tous les alignements de caractéristiques.

Avant d’appliquer l’intégralité du pipeline, l’extraction NLP pour oldpeak serait validée sur 100 rapports ECG sélectionnés au hasard. La précision, le rappel et le score F1 seraient calculés par deux cliniciens par une annotation manuelle. Si le score F1 était inférieur à 0,85, les schémas regex étaient révisés ou des données ECG structurées issues des événements graphiques étaient utilisées comme alternative. Le pipeline de prétraitement serait ensuite répété sur les données MIMIC-III extraites, le GAN serait réentraîné pour l’augmentation, la sélection hybride des caractéristiques serait réappliquée, les modèles seraient réentraînés, des explications seraient générées, et les métriques de performance seraient comparées aux résultats du jeu de données Cleveland.

Mise en œuvre de tableaux de bord cliniques
Un prototype de tableau de bord clinique basé sur le web a été conçu à l’aide d’un cadre tel que Flask ou Django. Les terminaux API HL7/FHIR étaient prévus pour l’intégration des DSE, avec l’authentification et l’autorisation configurées selon les politiques de sécurité institutionnelles. Les fonctions de cartographie des données ont été conçues pour convertir les données des DSE en format d’entrée de modèle.

L’interface utilisateur comprenait trois vues principales. La vue pré-présélection affichait la démographie des patients et les scores de risque calculés avec des niveaux de risque codés par couleur. La vue de soutien à la décision affichait un graphique en cascade SHAP montrant les principaux facteurs contributifs pour un patient spécifique. La vue de planification d’intervention a permis une analyse hypothécaire en ajustant les facteurs de risque modifiables et en affichant des prédictions de risque mises à jour. Une fonctionnalité d’exportation était incluse pour sauvegarder les rapports sous forme de fichiers PDF ou les intégrer aux systèmes de documentation des DSE.

Pour un déploiement clinique futur, une évaluation de l’utilisabilité par tableau de bord était prévue avec au moins cinq cliniciens. L’évaluation utiliserait l’échelle d’utilisabilité du système, avec un score cible supérieur à 68, un temps d’accomplissement des tâches, une réduction d’au moins 20 % par rapport à l’utilisation seule du DSE, ainsi que des échelles de satisfaction à 5 points pour la clarté et la confiance des explications. Cette évaluation de l’utilisabilité était prévue comme une étape future et n’a pas été mise en œuvre dans l’étude actuelle.

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Résultats

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Paramètres expérimentaux et indicateurs de performance
Toutes les expériences ont été menées en Python 3.9 en utilisant scikit-learn, TensorFlow et des bibliothèques SHAP. La validation croisée stratifiée à 10 reprises a été employée. Les métriques d’évaluation comprenaient la Précision, la Précision, le Rappel, le score F1 et le ROC-AUC.

Comparaison des performances avec des méthodes de référence sélectionnées

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le cadre décrit ici propose une approche reproductible pour développer des modèles interprétables de prédiction des maladies cardiaques. Un prototype de tableau de bord clinique intégrant ces explications est montré à la Figure 4, qui met en œuvre un flux de travail en trois étapes : pré-sélection, soutien à la décision avec SHAP, et planification d’intervention [Figure 4 ici]. Plusieurs étapes critiques nécessitent une attention particulière pour garantir l...

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Déclarations de divulgation

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les auteurs n’ont aucun conflit d’intérêts à déclarer.

Remerciements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les auteurs reconnaissent le soutien de l’Université Capital (Helwan) et de l’Université ouverte arabe pour la mise à disposition d’installations de recherche. Cette recherche n’a reçu aucune subvention spécifique de la part d’organismes de financement des secteurs public, commercial ou à but non lucratif.

Accès restreint. Veuillez vous connecter ou commencer un essai pour afficher ce contenu.

Matériaux

Liste des matériaux utilisés dans cet article
NomEntrepriseNuméro de catalogueCommentaires
Ensemble de données sur les maladies cardiaques de ClevelandDépôt d’apprentissage automatique UCIhttps://archive.ics.uci.edu/ml/datasets/heart+diseaseEnsemble de données de référence sur les maladies cardiaques utilisé pour le développement/l’évaluation de modèles
DjangoFondation Django SoftwareN/ACadre web alternatif pour la mise en œuvre de tableaux de bord
fancyimputedéveloppeurs fancyimputeN/AAnalyse optionnelle de la sensibilité à l’imputation MICE et KNN
FlasqueProjets de palettesN/ACadre web pour la mise en œuvre de tableaux de bord
Norme API HL7/FHIRHL7 InternationalN/ANorme prévue pour l’intégration des DSE/tableaux de bord
KerasDéveloppeurs KerasN/AAPI de réseau de neurones utilisée avec TensorFlow/Keras pour l’architecture GAN
matplotlibDéveloppeurs matplotlibN/ABibliothèque de tracés
Base de données MIMIC-IIIPhysioNethttps://physionet.org/content/mimiciii/1.4/Base de données de soins critiques pour la validation externe planifiée
manquanto.Absents développeursN/AVisualisation de la matrice de manquants
NumPyDéveloppeurs NumPyN/ACalcul numérique
PandasDéveloppeurs de PandasN/AManipulation des données
PhysioNetPhysioNethttps://physionet.org/Plateforme/source d’accès pour MIMIC-III
PythonFondation Python SoftwareN/AVersion 3.9/3.9.7
scikit-learnDéveloppeurs SciKit-LearnN/ABibliothèque d’apprentissage automatique, incluant le prétraitement, l’entraînement de modèles, la validation croisée et les métriques
SciPyDéveloppeurs SciPyN/ATests statistiques, y compris Welch' test t et corrélation de Spearman
SHAPDéveloppeurs SHAPN/ABibliothèque d’IA explicable
Jeu de données Statlog sur les maladies cardiaquesDépôt d’apprentissage automatique UCIhttps://archive.ics.uci.edu/ml/datasets/statlog+(cœur)Ensemble de données de référence sur les maladies cardiaques
TensorFlowGoogleN/ACadre d’apprentissage profond pour la mise en œuvre de GAN
Dépôt d’apprentissage automatique UCIUniversité de Californie, Irvinehttps://archive.ics.uci.edu/Source du dépôt pour les ensembles de données Cleveland et Statlog

Réimpressions et autorisations

Demander l’autorisation de réutiliser le texte ou les figures de cet article JoVE

Demander une autorisation

Mots-clés

Heart Disease PredictionFeature SelectionInterpretable Machine LearningGenerative Adversarial NetworkClass ImbalanceHarris Hawk OptimizationStatistical Feature SelectionSHAP AnalysisPartial Dependence PlotsOdds Ratios

Articles connexes