$$\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é.

ΔEO = max(|TPRA - TPRB |,| FPRA - FPRB |)
ΔBS=|BS âge<50 -BS âge>50 |
où BS est le score Brier :

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.

où Φ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
[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.