$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Ce protocole décrivait un flux de travail computationnel reproductible pour l’évaluation des modèles d’apprentissage automatique d’ensemble à l’aide d’un ensemble de données de maladies cardiovasculaires accessible au public.
Sélection du jeu de données
L’étude utilisait un ensemble de données sur les maladies cardiovasculaires accessible au public obtenu à partir du dépôt Kaggle. Le jeu de données comprenait 1190 instances et comprenait 11 fonctionnalités. Pour l’entraînement du modèle, 80 % des données ont été utilisées, tandis que les 20 % restants ont été alloués à l’évaluation de la performance. Le tableau 1 présentait une description détaillée des caractéristiques du jeu de données. Le jeu de données a été chargé en Python (version 3.9) via la bibliothèque pandas (version 1.5.3). L’intégrité du jeu de données a été vérifiée en examinant les valeurs manquantes, les enregistrements en double et les types de données incohérents.
Le tableau 1 résume les attributs démographiques, cliniques et expérimentaux inclus dans l’ensemble de données sur les maladies cardiovasculaires, ainsi que leurs types de données et formats encodés. Ces caractéristiques constituaient les variables d’entrée pour toutes les procédures ultérieures d’entraînement et d’évaluation des modèles.
| Sl. Non | Nom de la fonctionnalité | Type de données | Description |
| 1 | Âge | Numérique | L’âge du patient en années. |
| 2 | Sexe | Nominal | L’homme représenté comme 1, et la femme représentée par 0. |
| 3 | Type de douleur thoracique | Catégorique | 1 : Typique 2 : Angine typique 3 : Douleur non anginale 4 : Asymptomatique |
| 4 | Tension au repos | Numérique | La pression artérielle au repos mesurée en millimètres de mercure (mmHg). |
| 5 | Taux de cholestérol | Numérique | Cholestérol sérique en milligrammes par décilitre (mg/dL). |
| 6 | Glycémie à jeun | Nominal | Les taux de sucre dans le sang supérieurs à 120 mg/dl pendant le jeûne sont représentés par 1 pour vrai et 0 pour faux. |
| 7 | ECG au repos | Catégorique | Trois valeurs distinctes sont attribuées comme suit : 0 pour la normale, 1 pour l’anomalie de l’onde ST-T, et 2 pour l’hypertrophie du ventricule gauche. |
| 8 | Fréquence cardiaque maximale | Numérique | Fréquence cardiaque maximale atteinte |
| 9 | Angine d’exercice | Nominal | Angine induite par l’exercice, où 0 représente NON et 1 représente Oui. |
| 10 | Oldpeak | Numérique | ST-dépression pendant l’exercice comparée à l’état de repos. |
| 11 | Pente ST | Catégorique | La pente du segment ST pendant l’exercice de pointe est classée comme suit : 0 : Normal 1 : En pente ascendante 2 : Plat 3 : En pente descendante |
Tableau 1 : Description des caractéristiques du jeu de données utilisées pour la prédiction des maladies cardiaques.
Prétraitement des données
Le prétraitement des données était effectué à l’aide de bibliothèques Python. Les lignes contenant des valeurs manquantes ont été supprimées à l’aide de pandas. Fonction DataFrame.dropna(). Les valeurs aberrantes dans les caractéristiques numériques ont été identifiées et supprimées à l’aide de la méthode de la plage interquartile (IQR) et de la visualisation basée sur le boxplot, qui illustre la distribution et les valeurs aberrantes détectées entre les caractéristiques (Figure 2). Toutes les variables numériques étaient mises à l’échelle à l’aide de la fonction StandardScaler de la bibliothèque scikit-learn (version 1.2.2). Le déséquilibre de classe a été corrigé par un sous-échantillonnage aléatoire afin d’obtenir une répartition équilibrée des classes avant l’entraînement du modèle.

Figure 2 : Diagramme en boîte de tous les attributs du jeu de données sur les maladies cardiovasculaires. Veuillez cliquer ici pour voir une version agrandie de cette figurine.
Le coefficient de corrélation (PCC) de Pearson a été utilisé pour évaluer les relations entre les caractéristiques. La matrice de corrélation résultante, visualisée sous forme de carte thermique, illustre la force et la direction des corrélations par paires et met en évidence les attributs redondants à éliminer (Figure 3).

Figure 3 : Matrice de corrélation pour le jeu de données sur les maladies cardiaques. Veuillez cliquer ici pour voir une version agrandie de cette figurine.
Le modèle donne une carte thermique de la matrice de corrélation esthétiquement agréable et permet une compréhension plus rapide des corrélations entre différentes caractéristiques des données. Cette carte thermique utilise des couleurs pour indiquer dans quelle mesure et dans quelle direction les valeurs sont corrélées, ce qui en fait un outil important en analyse exploratoire des données. Les couleurs plus claires montrent des corrélations positives plus élevées, les couleurs foncées des corrélations négatives plus élevées, et plus de verts montrent des corrélations proches de zéro.
Extraction des caractéristiques
La sélection des caractéristiques a été réalisée en utilisant l’importance des caractéristiques Random Forest, implémentée via le RandomForestClassifier dans des bibliothèques open source d’apprentissage automatique. Les scores d’importance des caractéristiques ont été calculés en fonction de la diminution moyenne des impuretés, et les caractéristiques ont été classées en conséquence. Les caractéristiques classées parmi les N meilleures ont été conservées pour une analyse ultérieure. La sélection des caractéristiques a été appliquée après l’achèvement de toutes les étapes de prétraitement et avant la division train–test, garantissant qu’un ensemble de caractéristiques fixe et cohérent était utilisé dans tous les modèles de classification et configurations d’ensemble (Figure 4).

Figure 4 : Scores d’importance des caractéristiques calculés à l’aide de l’importance des caractéristiques de la forêt aléatoire. Les caractéristiques sont classées selon la valeur d’importance normalisée. Veuillez cliquer ici pour voir une version agrandie de cette figurine.
Les caractéristiques ont été classées selon la diminution moyenne de l’impureté en utilisant l’importance des caractéristiques de la Forêt Aléatoire avec random_state = 42 ; cependant, toutes les fonctionnalités disponibles (N = 11) ont été conservées pour l’entraînement ultérieur du modèle. La sélection des caractéristiques était appliquée après prétraitement et avant la séparation train–test, garantissant un ensemble de fonctionnalités fixe sur tous les modèles.
Formation de modèles et construction d’ensembles
Le jeu de données a été partitionné en sous-ensembles d’entraînement et de test à l’aide d’un ratio de répartition 80:20 avec la fonction train_test_split(). Les données d’entraînement étaient utilisées exclusivement pour le développement de modèles et la construction d’ensembles, tandis que les données de test étaient réservées à l’évaluation des performances. Les classificateurs de base, y compris Decision Tree, Random Forest, AdaBoost et XGBoost, étaient entraînés sur le jeu de données d’entraînement en utilisant les paramètres hyperparamètres par défaut, sauf indication contraire.
Les modèles d’ensemble de vote dur et de vote souple ont été construits à l’aide du VotingClassifier, avec des poids égaux attribués à tous les classificateurs de base afin d’assurer une comparaison objective. Un modèle d’ensemble empilé a été implémenté en utilisant la régression logistique comme méta-classificaneur. Le méta-classificateur a été entraîné sur des prédictions hors de pliage générées par une validation croisée 5-multipliée des classificateurs de base, ce qui a réduit le surapprentissage et permis une estimation impartiale de la performance de l’ensemble.
Modèle proposé
Le cadre d’ensemble proposé a été mis en œuvre pour construire un classificateur composite utilisant plusieurs stratégies d’apprentissage en ensemble. Toutes les données d’entraînement ont été standardisées, et des étapes de prétraitement identiques ont été appliquées aux données de test afin d’assurer la cohérence entre les phases d’entraînement et d’évaluation. Les classificateurs de base ont été intégrés à l’aide de votes durs, de votes doux et de mécanismes d’empilement, et le méta-classificateur d’empilement a été entraîné à l’aide de la régression logistique sur des prédictions validées croisément. L’architecture globale et le flux de données du cadre d’ensemble (Figure 5).

Figure 5 : Architecture du modèle proposé. Veuillez cliquer ici pour voir une version agrandie de cette figurine.
Niveau I :
Au niveau I du cadre d’ensemble, quatre classificateurs de base — Random Forest, Decision Tree, XGBoost et AdaBoost — ont été entraînés à l’aide du jeu de données d’entraînement à grande échelle. Ces classificateurs de base ont été combinés pour construire à la fois des modèles de vote dur et d’ensemble à vote souple. Des poids égaux ont été attribués à tous les classificateurs de base afin de maintenir l’objectivité et d’éviter les biais résultant de l’ajustement différentiel des poids lors de la construction de l’ensemble.
Niveau II :
Au niveau II, un classificateur d’ensemble empilé a été implémenté en combinant les prédictions générées par les classificateurs de base. Les classificateurs de base ont été entraînés à l’aide d’une validation croisée à 5 fois et des prédictions hors de pliage ont été générées pour chaque pli. Ces prédictions hors du pliage ont ensuite été utilisées comme caractéristiques d’entrée pour entraîner un méta-classificateur de régression logistique, réduisant ainsi le surapprentissage et permettant une estimation impartiale de la performance de l’ensemble.