Methodenartikel

Voorspelling van hartziekten met behulp van statistische featureselectie en interpreteerbaar machine learning

DOI:

10.3791/71170

5 juni 2026

In dit artikel

Samenvatting

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

Dit protocol beschrijft een machine learning-framework voor hartziektevoorspelling dat data-augmentatie combineert met generatieve adversariële netwerken, statistische en metaheuristische featureselectie en verklaarbare kunstmatige intelligentie.

Samenvatting

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

Hartziekten is wereldwijd een belangrijke doodsoorzaak, waardoor de vroege voorspelling ervan een belangrijk klinisch en computationeel probleem is. Verschillende studies hebben uitdagingen zoals dataschaarste, featureselectie en modelinterpretatie individueel behandeld, maar minder studies hebben een geïntegreerd kader voorgesteld dat deze uitdagingen op een synergetische manier aanpakt. Dit artikel presenteert een uitgebreid voorspellend kader dat gebruikmaakt: (1) van een generatief adversarieel netwerk (GAN) om klassenonevenwicht en dataschaarste aan te pakken; (2) een hybride featureselectiebenadering die statistische prefiltering via Welch's t.-test en Cohen's d-effect size combineert, samen met metaheuristische optimalisatie via Harris Hawk Optimization; en (3) verschillende verklaarbare kunstmatige intelligentiemethoden, waaronder SHAP, gedeeltelijke afhankelijkheidsgrafieken en odds ratio's. Dit kader werd beoordeeld op de Cleveland- en Statlog-datasets, wat resulteerde in sterke nauwkeurigheid, F1-scores en ROC-AUC-waarden vergeleken met geselecteerde baselines en bestaande methoden. Het model biedt een robuust, interpreteerbaar computationeel kader voor hartziektevoorspelling, waarbij machine learning-prestaties worden gekoppeld aan klinische interpretatie.

Inleiding

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

Hart- en vaatziekten zijn een van de belangrijkste oorzaken van morbiditeit en sterfte wereldwijd en zijn verantwoordelijk voor naar schatting 17,9 miljoen sterfgevallen per jaar1. Vroege en nauwkeurige voorspelling van hartziekten is belangrijk voor tijdige interventie en verbeterde patiëntuitkomsten. In deze context staat hartziektevoorspelling met behulp van machine learning (ML)-algoritmen voor drie hoofduitdagingen: de beperkte beschikbaarheid van hoogwaardige medische data, hoogdimensionale featureruimtes met redundante of irrelevante variabelen, en de black-box aard van complexe modellen, wat klinisch vertrouwen en adoptie kan belemmeren2. Recent werk combineert ML met verklaarbare kunstmatige intelligentie (XAI) methoden voor hartziektevoorspelling3. Veel onderzoekers hebben ML ook gebruikt voor het voorspellen en opsporen van hartziekten4. Recente ontwikkelingen in generatieve kunstmatige intelligentie, met name generatieve adversariële netwerken (GAN's), bieden veelbelovend bewijs voor data-uitbreiding in de gezondheidszorg5. Tegelijkertijd hebben metaheuristische algoritmen zoals Harris Hawk Optimization (HHO) en Particle Swarm Optimization (PSO) effectief gebleken bij feature-selectie en modeloptimalisatie6. XAI-technieken, zoals SHAP en partiële afhankelijkheidsplots (PDP's), zijn ook naar voren gekomen als belangrijke hulpmiddelen voor het interpreteren van complexe modelvoorspellingen7. Er zijn veel studies uitgevoerd naar ML-modellen voor het voorspellen van cardiovasculair risico's.

De beschikbare literatuur bespreekt deze kwesties echter vaak op zichzelf. Sommige studies richten zich op data-augmentatie met behulp van GANs9, terwijl andere zich specifiek richten op featureselectie met behulp van metaheuristische algoritmen10 of op modelinterpreteerbaarheid op basis van XAI-methoden11. SMOTE-gebaseerde augmentatie is onderzocht voor de voorspelling van overleving bij hartfalen12. Er is ook een diagnose van hartziekten op basis van KNN gerapporteerd13. Deze afzonderlijke benaderingen benutten niet volledig de gecombineerde voordelen die kunnen worden bereikt door een geïntegreerd kader dat dataschaarste, featureselectie, modeltraining en interpreteerbaarheid samen aanpakt.

Recente studies hebben gerelateerde benaderingen onderzocht. Een studie uit 2026 in Frontiers in Medicine stelde PSO-geoptimaliseerde heterogene classifiers voor met opvulinterpolatie en mediane imputatie voor hartziektediagnose, met een nauwkeurigheid van 91,3% op een samengevoegde dataset14. Ander recent werk heeft metaheuristische optimalisatie toegepast voor medische beeldsegmentatie15, XAI voor beroertevoorspelling16, hybride optimalisatie voor cardiale aritmieclassificatie17, en SHAP-verbeterde klinische beslissingsondersteuningssystemen18. Echter, weinig van deze studies combineren generatieve augmentatie, dual-criteria statistische featureselectie met HHO-optimalisatie en multi-methode XAI in één geïntegreerd framework.

Dit artikel heeft als doel deze kloof aan te pakken door een raamwerk voor hartziektevoorspelling voor te stellen dat systematisch data-augmentatie, hybride featureselectie, modeloptimalisatie en training, en verklaarbaarheidsanalyse integreert. In de data-augmentatiefase worden GAN's gebruikt om tabelvormige klinische gegevens te synthetiseren op basis van patiëntkenmerken zoals leeftijd, bloeddruk, cholesterolwaarden en elektrocardiogrammetingen. Hoewel GAN's veel worden gebruikt voor het genereren van medische beelden, past deze studie ze toe op de Cleveland Heart Disease dataset, die 13 numerieke en categorische kenmerken bevat, om de beperkte steekproefgrootte (n = 303) en de klassenongelijkheid aan te pakken. In de hybride featureselectiefase worden Welch's t.-test en Cohens d-effectgrootte gecombineerd met HHO om statistisch robuuste en klinisch relevante feature-subsets te identificeren. Tijdens de modeloptimalisatie- en trainingsfase wordt PSO gebruikt om de gewichten van het kunstmatige neurale netwerk te optimaliseren, terwijl Logistic Regression en Random Forest-modellen worden getraind vanwege hun balans tussen prestaties en verklaarbaarheid. In de uitlegbaarheidsfase worden complementaire XAI-technieken, waaronder SHAP, PDP's en odds ratio's, gebruikt om globale en lokale modelinterpretaties te bieden.

De algemene workflow van het voorgestelde framework wordt geïllustreerd in Figuur 1. Tabel 1 vat de belangrijkste verschillen samen tussen de voorgestelde aanpak en bestaande methoden voor het selecteren van kenmerken [Tabel 1 hier].

figure-introduction-1
Figuur 1: Overzicht van het voorgestelde raamwerk voor de voorspelling van hartziekten. De workflow bestaat uit vier hoofdfasen: (1) datapreprocessing en -augmentatie met behulp van GAN's om dataschaarste aan te pakken; (2) hybride featureselectie die statistische filtering combineert (Welch's t.-test met Cohen's d) en Harris Hawk-optimalisatie; (3) modeltraining met interpreteerbare classifiers, waaronder Logistic Regression en Random Forest, en een PSO-geoptimaliseerde ANN; en (4) verklaarbaarheidsanalyse met SHAP, partiële afhankelijkheidsplotten en odds ratio's. Afkortingen: GANs = generatieve adversariële netwerken; PSO = Optimalisatie van de Deeltjeszwerm; ANN = Kunstmatig Neuraal Netwerk. Klik hier om een grotere versie van deze figuur te bekijken.

BenaderingscategorieStatistisch testen (bijv. t-test)Effectgrootte (bijv. Cohen's d)Metaheuristische optimalisatie (bijv. HHO/PSO)Interpreteerbaarheidsfocus
Traditionele statistischeJaZeldenNeeGematigd
Pure optimalisatieNeeNeeJaLaag
Bestaande hybride methodenSomsZeldenJaVariabele
Voorgesteld kaderJa (Welch's t-test)Ja (Cohen's d ≥ 0,5)Ja (HHO)Hoog (XAI-geïntegreerd)

Tabel 1: Vergelijking van benaderingen voor featureselectie bij de voorspelling van hartziekten. Vergeleken benaderingen zijn onder andere Traditionele Statistische, Pure Optimalisatie, Bestaande Hybride Methoden en het Voorgestelde Kader op basis van de volgende criteria: Statistisch Testen, Effectgrootte, Metaheuristische Optimalisatie en Interpreteerbaarheidsfocus.

De belangrijkste bijdragen van dit werk zijn als volgt. Om dataschaarste en klasse-onevenwicht aan te pakken, wordt eerst een standaard GAN met binaire kruis-entropieverlies en Adam-optimalisatie geïmplementeerd, samen met een Gaussiaanse perturbatie-fallback wanneer TensorFlow niet beschikbaar is. Ten tweede wordt om feature-redundantie aan te pakken een hybride feature-selectiestrategie voorgesteld die statistische prefiltering combineert met HHO met behulp van een V-vormige overdrachtsfunctie. Deze dual-criteria-benadering heeft als doel kenmerken te selecteren die zowel statistisch significant als klinisch relevant zijn. Ten derde wordt om de modelopaciteit aan te pakken een multi-methode verklaring suite geïntegreerd, inclusief SHAP-bijenzwerm- en watervalplots, PDP's en odds ratio's met 95% betrouwbaarheidsintervallen. Er wordt een eenvoudig verzoeningsprotocol gegeven voor klinische gebruikers: als een PDP een niet-lineaire trend vertoont, moet de SHAP-verklaring worden geprioriteerd boven logistische regressiecoëfficiënten. Ten vierde, ter ondersteuning van reproduceerbaarheid en gestructureerde validatie, omvat het kader gestratificeerde kruisvalidatie, fairness auditing, ablatiestudies, een extern validatieprotocol voor MIMIC-III en documentatie van belangrijke hyperparameters.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Protocol

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

Ethische verklaring, dataset, software en datavoorbereiding
De bevindingen van deze studie waren gebaseerd op de Heart Disease dataset van de UCI Machine Learning Repository. Omdat dit een openbaar toegankelijke en gede-identificeerde bron is, vereiste het gebruik ervan geen goedkeuring van een ethisch comité. De auteurs verifiëren ook de originaliteit van dit manuscript, waarbij wordt bevestigd dat het niet eerder is gepubliceerd of ingediend bij andere tijdschriften.

De Cleveland Heart Disease dataset werd opgesplitst in trainings- en testsets op 80/20. De dataset bevat doorgaans 303 instanties; Daarom werden ongeveer 242 monsters gebruikt voor training, en 61 monsters werden behouden als een schone testset. Synthetische monsters die werden gegenereerd met de GAN- of Gaussian fallback-methode werden alleen toegevoegd aan de trainingsdata om het risico op datalekken te verkleinen. De uiteindelijke uitgebreide trainingsset bestond uit ongeveer 242 echte en 1.000 synthetische monsters, wat resulteerde in 1.242 trainingsmonsters. Er werd geen vaste statische validatieset gebruikt. In plaats daarvan werd gestratificeerde kruisvalidatie toegepast tijdens modeltraining, waarbij elke vouw de augmented trainingsdata opsplitste in trainings- en validatiesubsets.

De dataset werd geladen in een Pandas DataFrame en geïnspecteerd op ontbrekende waarden. Numerieke kenmerken met ontbrekende waarden werden verwerkt met mediaanimputatie met de SimpleImputer-klasse van scikit-learn met strategie = 'mediaan'. Categorische kenmerken met ontbrekende waarden werden behandeld met modusimputatie met SimpleImputer en strategie = 'most_frequent'. Ontbrekingsmechanismen werden gedocumenteerd door het ontbrekende percentage voor elk kenmerk te berekenen met behulp van df.isnull().sum() / len(df). Niet-willekeurige missing-patronen werden beoordeeld door de gemiddelde waarden van andere kenmerken tussen steekproeven met en zonder ontbrekende gegevens te vergelijken met t.-tests voor numerieke kenmerken en chi-kwadraattests voor categorische kenmerken. Ontbreken werd vervolgens gedocumenteerd als Volledig Willekeurig ontbrekend (MCAR), Willekeurig ontbreekt (MAR), of Niet willekeurig ontbreken (MNAR), waar van toepassing.

Voor datasets met aanzienlijke ontbreking werd een gevoeligheidsanalyse aanbevolen door mediaan/modusimputatie te vergelijken met meervoudige imputatie door kettingvergelijkingen (MICE), met behulp van fancyimpute. IteratieveImputer met max_iter = 10, en KNN-imputatie, met behulp van fancyimput. KNN met k = 5. Een nauwkeurigheidsverschil van minder dan 0,03 werd beschouwd als een indicatie van robuustheid voor de imputatiemethode12. Deze gevoeligheidsanalyse werd als optioneel beschouwd voor de Cleveland-dataset vanwege de beperkte ontbreking, maar werd aanbevolen voor andere klinische datasets met meer dan 5% ontbrekende waarden. Missingness-patronen werden ook gevisualiseerd met de missingno-bibliotheek door een missingness-matrix heatmap te genereren met msno.matrix(df). Clustering van missingness patterns werd gebruikt om te identificeren of ontbrekende waarden systematisch samen optraden, wat kan wijzen op MNAR-mechanismen die klinische deskundige input vereisen.

Numerieke kenmerken werden gestandaardiseerd met behulp van z-score normalisatie. StandardScaler van scikit-learn werd aangepast op de trainingsgegevens en vervolgens toegepast op zowel trainings- als testsets. Categorische variabelen werden gecodeerd met behulp van one-hot encodering. Het type borstpijn (cp), dat uit vier categorieën bestaat, werd omgezet in vier binaire indicatorkolommen met behulp van pandas.get_dummies. Thalassemie (thal), dat uit drie categorieën bestaat, werd omgezet in drie binaire indicatorkolommen. Omdat de GAN-generator en discriminator een vaste input/output-dimensie van 13 features gebruikten die overeenkwamen met de oorspronkelijke dataset vóór de one-hot encoding, werden synthetische samples gegenereerd in de oorspronkelijke ruimte met 13 features en vervolgens door dezelfde one-hot encoding pipeline als de echte data gestuurd. Hierdoor bleef de compatibiliteit met de GAN-architectuur behouden, terwijl gecodeerde functies konden worden gebruikt voor modeltraining.

Wiskundige definities en kwaliteitsmetrieken
De Fréchet-afstand werd gebruikt om reële en synthetische kenmerkverdelingen te vergelijken. De Fréchet-afstand Fr(F, G) tussen twee distributies F en G werd als volgt gedefinieerd:

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

waarbij E de verwachtingswaarde vertegenwoordigt, en de minimalisatie wordt uitgevoerd over alle stochastische variabelen X en Y met verdelingen F en G, respectievelijk19.

Harris Hawk Optimization (HHO) werd gebruikt als de metaheuristische optimalisatiemethode. HHO is geïnspireerd door het coöperatieve jachtgedrag van HarrisHawks 20. De overgang tussen exploratie- en exploitatiefasen werd gecontroleerd door de ontsnappingsenergie E. In de exploratiefase, waar |E| ≥ 1 werd de update als volgt gedefinieerd:

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

In de exploitatiefase, waar |E| < 1 werden updates bepaald door de ontsnappingsenergie E = 2E(1 − t/T) en de sprongsterkte J = 2(1 − r5). In de zachte belegeringsconditie, waarbij ≥ 0,5 en |E| ≥ 0.5 werd de update als volgt gedefinieerd:

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

In de moeilijke belegeringsconditie, waar ≥ 0,5 en |E| < 0.5 werd de update als volgt gedefinieerd:

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

Eerlijkheid werd beoordeeld met behulp van statistische pariteit en foutpercentagebalans, volgens Hardt et al.20 en Lima et al.21. Demografische pariteitsverschil, gelijkgestelde kansverschillen en leeftijdsgebaseerde kalibratiefout werden gebruikt als eerlijkheidsmetrieken.

figure-protocol-1

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

ΔBS=|BSage<50 - BSage>50 |

waarbij BS de Brier-score is:

figure-protocol-2

De interpreteerbaarheid van het dashboard was gebaseerd op SHAP-waarden, die worden berekend met behulp van coalitionele speltheorie18.

figure-protocol-3

waarbij Φi de SHAP-attributie voor kenmerk i vertegenwoordigt, F. f(S) vertegenwoordigt de verzameling van alle kenmerken, en de modelvoorspelling voor een deelverzameling van kenmerken S.

GAN-gebaseerde data-augmentatie
Om dataschaarste en klassenonevenwicht aan te pakken, werd een Generative Adversarial Network (GAN) gebruikt om synthetische monsters te genereren. De generatorarchitectuur was geconfigureerd in TensorFlow/Keras. Het accepteerde een 100-dimensionale ruisvector die werd bemonsterd uit een standaard normale verdeling N(0,1), gevolgd door dichte lagen met 128, 256 en 512 eenheden die ReLU-activatie gebruikten. De uitvoerlaag bevatte 13 eenheden, overeenkomend met de oorspronkelijke feature-dimensie, en gebruikte sigmoid-activatie.

De discriminatorarchitectuur accepteerde een 13-dimensionale kenmerkvector als invoer. Het bestond uit dichte lagen met 512, 256 en 128 eenheden die gebruikmaakten van LeakyReLU-activatie met α = 0,2. De outputlaag bevatte één eenheid met sigmoidactivatie voor binaire classificatie van echte versus synthetische monsters.

De GAN werd getraind voor 100 epochs met een batchgrootte van 64. De Adam-optimizer werd gebruikt met een leersnelheid van 0,0002, β1 = 0,5 en β2 = 0,999. Tijdens elk tijdperk werd de discriminator afwisselend getraind op echte en synthetische batches, en de generator werd getraind om de discriminator te misleiden. Na de training werden 1.000 willekeurige ruisvectoren in de generator ingevoerd om 1.000 synthetische monsters te produceren, die alleen aan de trainingsset werden toegevoegd.

Mode-collapse werd tijdens GAN-training gemonitord door de variantie van elk synthetisch kenmerk te meten over 100 gegenereerde monsters na elke 10 epochs. Als de variantie van een kenmerk drie opeenvolgende controles onder de 10% van de overeenkomstige variantie in de reële data daalde, werd mode-collapse vermoed. Mitigatiestrategieën omvatten het verlagen van de leersnelheid tot 1 × 10⁻4, het vergroten van de batchgrootte naar 128, het herstarten van de training met een andere gewichtsinitialisatie, of het vervangen van de standaard GAN door Wasserstein GAN met Gradient Penalty (WGAN-GP), zoals beschreven door Arjovsky et al.17. De implementatie gebruikte een standaard GAN met een Gaussian perturbation fallback om synthetische datageneratie te garanderen wanneer TensorFlow niet beschikbaar was.

De kwaliteit van synthetische data werd geëvalueerd door de Fréchet-afstand tussen reële en synthetische feature-verdelingen te berekenen met behulp van een aangepaste implementatie. Een classifier, zoals logistische regressie, werd ook getraind om reële van synthetische monsters te onderscheiden; De nauwkeurigheid van de classificatie van nabij-kans werd beschouwd als een aanwijzing voor hoge nauwkeurigheid. Precision-Recall AUC werd berekend, waarbij waarden groter dan 0,9 als indicatief voor een goede distributie-capture worden beschouwd. Pearson-correlaties tussen featureparen in de reële en synthetische datasets werden ook vergeleken, waarbij verschillen onder 0,05 werden beschouwd als acceptabel behoud van correlatiestructuur.

Wanneer TensorFlow/Keras niet beschikbaar was of GAN-training faalde, werd een Gaussian perturbation fallback-methode gebruikt. Voor elke klasse werden het gemiddelde (μ) en de standaarddeviatie (σ) van elk kenmerk berekend uit de trainingsset. Synthetische monsters werden vervolgens als volgt gegenereerd:

Xsynthetisch = μ + ε × σ × 0,05, waarbij ε ~ N(0,1)

Klassenlabels werden gegenereerd in verhouding tot de oorspronkelijke klassenverdeling. Deze fallback werd toegevoegd om reproduceerbaarheid over omgevingen heen te ondersteunen zonder deep learning-afhankelijkheden.

Hybride functiekeuze
Er werd een tweefasige hybride strategie voor functieselectie toegepast. In de eerste fase werd statistische voorfiltering uitgevoerd. Voor elk kenmerk xi in de featureset X werden waarden verdeeld in twee groepen volgens de binaire uitkomstvariabele: G0 voor y = 0, wat aangeeft dat er geen ziekte is, en G1 voor y = 1, wat de aanwezigheid van ziekte aangeeft. Welchs twee-steekproef t.-test werd uitgevoerd met scipy.stats.ttest_ind met equal_var = False. De grootte van Cohens d-effect werd vervolgens als volgt berekend:

d = (gemiddelde1 − gemiddelde2) / pooled_std

waarbij:

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

De kenmerknaam, p-waarde en Cohens d-waarde werden opgeslagen in een resultaattabel. Kenmerken werden geselecteerd als ze aan beide criteria voldeden: p-waarde < 0,05 en |Cohen's d| ≥ 0,5. De resulterende featureset werd gedefinieerd als Xfiltered.

De t-test van Welch werd gebruikt omdat deze geschikt is voor continue numerieke kenmerken zoals leeftijd, thalach en oldpeak. Voor binaire categorische kenmerken zoals geslacht en exang levert de t.-test resultaten op die vergelijkbaar zijn met een proportietest bij het vergelijken van twee groepen. Multicategorische kenmerken zoals cp en thal werden one-hot gecodeerd, en elke binaire indicator werd afzonderlijk getest aan de hand van de uitkomstvariabele. Deze aanpak werd als passend beschouwd omdat de Cleveland-dataset meer dan 30 steekproeven bevat, de kenmerken vóór de analyse gestandaardiseerd waren, en equal_var = False rekening houdt met ongelijke variaties tussen groepen. Voor kenmerken met ernstige schendingen van de normaliteit werd de Mann-Whitney U-test beschouwd als een alternatieve niet-parametrische test.

De drempel p < 0,05 volgde conventionele statistische significantie, terwijl |Cohen's d| ≥ 0,5 kwam overeen met een matige tot grote effectgrootte. Voor datasets met kleine steekproefgroottes of zeldzame uitkomsten werden bootstrap-gebaseerde aanpassing, Hedges' g-correctie of versoepelde exploratiedrempels aanbevolen met deskundige klinische input. Zo zouden 1.000 bootstrap-resamples kunnen worden gebruikt om Cohen's d betrouwbaarheidsintervallen te berekenen, en Hedges' g kan worden toegepast om te corrigeren voor small-sample bias. Kenmerken met grensstatistieken, zoals p-waarden tussen 0,03 en 0,08 of |d| Waarden tussen 0,4 en 0,6 werden gedocumenteerd voor mogelijke klinische deskundige beoordeling vóór uitsluiting.

In de tweede fase werd Harris Hawk Optimization (HHO) toegepast op de statistisch gefilterde functieset. De HHO-populatie werd ingesteld op 20, en het maximale aantal iteraties werd vastgesteld op 50. Elke oplossing werd weergegeven als een binaire vector met een lengte gelijk aan het aantal features in Xfiltered, waarbij 1 aangaf dat een feature was geselecteerd en 0 aangaf dat deze niet was geselecteerd. Continue HHO-posities werden afgebeeld naar binaire vectoren met behulp van de V-vormige overdrachtsfunctie:

T(x) = |tanh(x)|

De binaire waarde werd ingesteld op 1 als T(x) 0,5 > en verder 0. De V-vormige functie werd gekozen omdat deze gebalanceerde verkenning en exploitatie ondersteunt tijdens binaire conversie.

De fitnessfunctie voor elke oplossing werd gedefinieerd met behulp van logistische regressie. Een logistisch regressiemodel werd getraind met alleen de kenmerken geselecteerd door de binaire vector, en 5-voudige kruisvalidatie werd uitgevoerd met cross_val_score uit scikit-learn. De geschiktheid werd als volgt berekend:

fitness = 1 − gemiddelde nauwkeurigheid

De populatie van havikposities werd uniform geïnitialiseerd in het bereik [−1, 1] met numpy.random.uniform(−1, 1, (population_size, n_features)) met een vast willekeurig zaad van 42 voor reproduceerbaarheid. Bij elke iteratie werd de fitheid van alle haviken geëvalueerd, werd de beste havikpositie geïdentificeerd als het konijn, en de havikposities werden bijgewerkt met behulp van de HHO-vergelijkingen voor exploratie en exploitatie op basis van ontsnappingsenergie. Na convergentie werd de best presterende binaire vector gekozen als de laatste feature-subset, Xfinal.

De geselecteerde functies werden vastgelegd uit een enkele HHO-optimalisatierun met een vaste willekeurige seed. Voor toepassingen die een hoger statistisch vertrouwen vereisten, werden 30 onafhankelijke runs met verschillende willekeurige seeds aanbevolen, en consensuskenmerken die in minstens 80% van de runs voorkwamen, konden worden geselecteerd. De gerapporteerde implementatie was gebaseerd op één representatieve run, aangezien voorlopige tests consistente convergentie aangaven.

Modeltraining en optimalisatie
Drie modellen werden overwogen: Logistische Regressie, Random Forest en een PSO-geoptimaliseerd Kunstmatig Neural Netwerk (ANN). Logistische regressie werd getraind met gestratificeerde 5-voudige kruisvalidatie om de klassenverdeling te behouden. De regularisatiesterkte C werd geoptimaliseerd met behulp van de zoekruimte C figure-protocol-4 [0,001, 0,01, 0,1, 1, 10]. Voor elke vouw en elke waarde van C werd het model getraind op de trainingsvouw en geëvalueerd op de validatievouw. De waarde van C die de gemiddelde validatienauwkeurigheid over folds maximaliseert, werd gekozen.

Het Random Forest-model werd getraind met behulp van hyperparameterafstemming. De zoekruimte omvatte max_depth = [5, 10, 15, Geen] en min_samples_split = [2, 5, 10]. Grid search met 5-voudige kruisvalidatie werd uitgevoerd met ROC-AUC als optimalisatiemetriek via GridSearchCV met score = 'roc_auc'. Het geselecteerde Random Forest-model gebruikte max_depth = 10 en min_samples_split = 5. Out-of-bag (OOB) scoreschatting werd ingeschakeld met oob_score = True.

Overfitting werd beoordeeld door het verschil tussen trainingsnauwkeurigheid en OOB-score te berekenen:

overfitting_gap = training_accuracy − oob_score

Een overfitting-gap onder 0,05 werd als een indicatie van een goede generalisatie beschouwd, terwijl een gap groter dan 0,10 de noodzaak aangaf om max_depth te verminderen of min_samples_split te verhogen. Met een OOB-score van 0,9296 en een typische trainingsnauwkeurigheid tussen 0,94 en 0,96, was het verschil ongeveer 0,01–0,03.

Een ANN-classifier werd ook geoptimaliseerd met behulp van Particle Swarm Optimization (PSO). De ANN-architectuur bestond uit een inputlaag, één verborgen laag met 64 neuronen die ReLU-activatie gebruikten, en een outputlaag met één neuron die sigmoid-activatie gebruikte. PSO werd geïnitialiseerd met 50 deeltjes en 50 iteraties en werd gebruikt om de initiële netwerkgewichten te optimaliseren. De ANN werd vervolgens getraind met standaard backpropagation. Omdat PSO-optimalisatie werd uitgevoerd op dezelfde trainingsdata zonder geneste kruisvalidatie, werd deze component voorzichtig behandeld. Voor toekomstige toepassingen werd geneste kruisvalidatie aanbevolen, met een buitenste 10-voudige lus voor evaluatie en een binnenste 10-voudige lus voor PSO-hyperparameterselectie. Een generalisatiekloof onder 0,08 werd als acceptabel beschouwd, terwijl een kloof boven 0,15 mogelijk overfitting aangaf die modelvereenvoudiging vereiste.

Modelevaluatie
Modelevaluatie werd uitgevoerd met behulp van gestratificeerde 10-voudige kruisvalidatie op de uiteindelijke featureset, Xfinal. In elke fold werden Logistic Regression en Random Forest-modellen getraind op de trainingsdata en geëvalueerd op de validatiegegevens. Nauwkeurigheid, precisie, herinnering, F1-score en ROC-AUC werden berekend met behulp van classification_report en roc_auc_score uit scikit-learn. Het gemiddelde en de standaarddeviatie van alle metrieken werden berekend over de 10 keer heen.

De generalisatiegap werd ook berekend voor elke vouw als volgt:

generalization_gap = training_accuracy − validation_accuracy

De gemiddelde generalisatiekloof over alle 10 vouwen werd gerapporteerd. Een gemiddelde kloof onder 0,08 werd beschouwd als minimale overfitting, terwijl een gap boven 0,15 overfitting en de noodzaak van regularisatie of verminderde modelcomplexiteit suggereerde. Wilcoxon teken-rang tests werden uitgevoerd om het voorgestelde kader te vergelijken met basismethoden over 10 keer met behulp van α = 0,01.

Verklaarbaarheidsanalyse
Verklaarbaarheidsanalyse werd uitgevoerd met modelspecifieke en model-agnostische methoden. Voor logistische regressie werd het uiteindelijke model aangepast en werden coëfficiëntenwaarden geëxtraheerd voor elk geselecteerd kenmerk. Odds ratio's werden berekend als exp(coëfficiënt), en 95% betrouwbaarheidsintervallen werden berekend met behulp van de standaardfouten van de coëfficiënten.

Voor Random Forest werden Gini-belangrijkheidsscores uit het getrainde model geëxtraheerd met behulp van het feature_importances_-attribuut en genormaliseerd tot 1. SHAP-verklaringen werden gegenereerd met behulp van de SHAP-bibliotheek. Een KernelExplainer-object werd gemaakt met behulp van het getrainde model en een achtergronddataset, zoals 100 willekeurig geselecteerde trainingsmonsters. SHAP-waarden werden berekend voor alle instanties in de testset met behulp van shap_values. Bijenzwermsamenvattingsgrafieken werden gegenereerd met shap.summary_plot, en staafgrafieken met gemiddelde absolute SHAP-waarden werden gegenereerd met shap.bar_plot.

Partial Dependence Plots (PDP's) werden gegenereerd voor de topkenmerken die door SHAP-analyse zijn geïdentificeerd. Voor elk geselecteerd kenmerk werd een reeks waarden gemaakt die het kenmerkbereik overspanden. Elke waarde werd in de feature-kolom geïntruceerd terwijl andere features constant bleven, en de gemiddelde voorspelde kans werd over alle gevallen berekend. Featurewaarden werden uitgezet tegen gemiddelde voorspellingen met behulp van matplotlib. Betrouwbaarheidsintervallen van 95% werden toegevoegd met behulp van 100 bootstrap resampling-iteraties.

Individuele Conditional Expectation (ICE) plots werden gegenereerd voor geselecteerde features door voorspellingstrajecten voor individuele instanties uit te zetten naarmate featurewaarden veranderden. De PDP-lijn werd over het ICE-perceel gelegd. Verklaringsmethoden werden vergeleken door Spearmans rangcorrelatie te berekenen tussen Logistic Regression odds ratio's en Random Forest SHAP-waarden met behulp van scipy.stats.spearmanr. Verschillen tussen verklaringsmethoden werden gedocumenteerd voor klinische interpretatie. Wanneer SHAP- en logistische regressiecoëfficiënten conflicteerden, werd de PDP voor die eigenschap onderzocht. Als de PDP een niet-lineaire trend liet zien, kreeg de SHAP-verklaring prioriteit boven de logistische regressiecoëfficiënt omdat Random Forest niet-lineaire relaties kan vastleggen die lineaire modellen niet kunnen.

Framework generalisatieprotocol voor externe validatie met MIMIC-III
Er werd een extern validatieprotocol opgesteld voor het toepassen van het framework op de MIMIC-III-database. Toegang tot MIMIC-III vereist goedkeuring door PhysioNet en het voltooien van de vereiste training voor menselijke proefpersonen. De voorgestelde cohort zou volwassen patiënten van 18 jaar of ouder omvatten met de eerste IC-opname en ICD-9-codes 410–414 voor acuut myocardinfarct of ICD-10-codes I20–I25 voor ischemische hartziekte. Exclusiecriteria omvatten meer dan 30% ontbrekende waarden in doelkenmerken, verblijfsduur onder 24 uur, leeftijd boven de 90 jaar, eerdere hartoperatie of aangeboren hartziekte.

De voorgestelde uitkomst was grote nadelige hartgebeurtenissen (MACE) binnen 72 uur na opname, gedefinieerd als een samenstelling van ziekenhuismortaliteit, cardiogene shock of ventriculaire aritmie die interventie vereist. Tijdreekskenmerken zoals hartslag en bloeddruk zouden worden geaggregeerd over de eerste 24 uur van IC-verblijf met behulp van gemiddelde, mediaan, minimum, maximum en trend, waarbij trend wordt geschat als de helling van lineaire regressie over tijd. De maximale hartslag zou worden gebruikt als het gemapte equivalent van thalach.

De datasetkenmerken van Cleveland zouden worden gekoppeld aan MIMIC-III-variabelen. Bijvoorbeeld, thalach zou worden gekoppeld aan de maximale hartslag die tijdens de eerste 24 uur van IC-verblijf is geregistreerd, CP wordt gekoppeld aan gestructureerde pijnbeoordelingen en door NLP geëxtraheerde vermeldingen van borstpijn, en oudpiek aan ST-segment afwijking van ECG-rapporten. Er zou een mappingtabel worden gemaakt om alle feature-uitlijningen te documenteren.

Voordat de volledige pijplijn wordt toegepast, wordt NLP-extractie voor oldpeak gevalideerd op 100 willekeurig geselecteerde ECG-rapporten. Precisie, herinnering en F1-score zouden door twee clinici worden berekend aan de hand van handmatige annotatie. Als de F1-score onder 0,85 zou zijn, worden regex-patronen herzien of worden gestructureerde ECG-gegevens van grafiekgebeurtenissen als alternatief gebruikt. De preprocessing-pijplijn zou vervolgens worden herhaald op geëxtraheerde MIMIC-III-gegevens, de GAN zou worden hertraind voor augmentatie, hybride featureselectie zou opnieuw worden toegepast, modellen zouden opnieuw worden getraind, uitleg worden gegenereerd en prestatie-metrics worden vergeleken met de resultaten van de Cleveland-dataset.

Implementatie van klinisch dashboard
Een webgebaseerd klinisch dashboardprototype is ontworpen met behulp van een framework zoals Flask of Django. HL7/FHIR API-eindpunten waren gepland voor EPD-integratie, waarbij authenticatie en autorisatie werden geconfigureerd volgens institutionele beveiligingsbeleid. Datamappingfuncties zijn ontworpen om EPD-gegevens om te zetten in modelinvoerformaat.

De gebruikersinterface bevatte drie hoofdweergaven. De pre-screening weergave toonde de demografie van patiënten en berekende risicoscores met kleurgecodeerde risiconiveaus. De beslissingsondersteuningsweergave toonde een SHAP-watervalgrafiek met de belangrijkste bijdragende factoren voor een specifieke patiënt. De interventieplanningsweergave maakte what-if-analyse mogelijk door aanpasbare risicofactoren aan te passen en bijgewerkte risicovoorspellingen weer te geven. Exportfunctionaliteit was inbegrepen om rapporten als PDF-bestanden op te slaan of te integreren met EPD-documentatiesystemen.

Voor toekomstige klinische implementatie was een evaluatie van dashboardbruikbaarheid gepland met minstens vijf clinici. De evaluatie zou gebruikmaken van de System Usability Scale, met een streefscore hoger dan 68, taakvoltooiingstijd, met een streefvermindering van minstens 20% ten opzichte van alleen het EPD-gebruik, en 5-punts tevredenheidsschalen voor duidelijkheid en vertrouwen. Deze bruikbaarheidsevaluatie was gepland als een toekomstige stap en werd niet toegepast in de huidige studie.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Resultaten

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

Experimentele omgevingen en prestatie-indicatoren
Alle experimenten werden uitgevoerd in Python 3.9 met behulp van scikit-learn, TensorFlow en SHAP-bibliotheken. Gestratificeerde 10-voudige kruisvalidatie werd toegepast. De evaluatiemetrics omvatten Nauwkeurigheid, Precisie, Terugroepen, F1-score en ROC-AUC.

Prestatievergelijking met geselecteerde basislijnmethoden

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Discussie

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

Het hier beschreven kader biedt een reproduceerbare benadering voor het ontwikkelen van interpreteerbare voorspellingsmodellen voor hartziekten. Een prototype klinisch dashboard dat deze uitleg integreert, is te zien in Figuur 4, dat een driefasige workflow implementeert: pre-screening, beslissingsondersteuning met SHAP en interventieplanning [Figuur 4 hier]. Verschillende cruciale stappen vereisen nauwlettende aandacht om een succesvolle uitvoering van dit ...

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Openbaarmakingen

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

De auteurs hoeven geen belangenconflicten aan te geven.

Dankbetuigingen

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

De auteurs erkennen de steun van Capital (Helwan) University en de Arab Open University voor het bieden van onderzoeksfaciliteiten. Dit onderzoek heeft geen specifieke subsidie ontvangen van financieringsinstanties in de publieke, commerciële of non-profitsector.

Toegang beperkt. Log in of start een proefperiode om deze inhoud te bekijken.

Materialen

```html

Lijst van materialen gebruikt in dit artikel
NaamBedrijfCatalogusnummerOpmerkingen
Cleveland Heart Disease DatasetUCI Machine Learning Repositoryhttps://archive.ics.uci.edu/ml/datasets/heart+diseaseBenchmark dataset voor hartziekte, gebruikt voor modelontwikkeling/evaluatie
DjangoDjango Software FoundationN/AAlternatieve webframework voor dashboard implementatie
fancyimputefancyimpute ontwikkelaarsN/AOptionele MICE en KNN invullingsgevoeligheidsanalyse
FlaskPallets ProjectsN/AWebframework voor dashboard implementatie
HL7/FHIR API standaardHL7 InternationalN/AGeplande standaard voor EHR/dashboard integratie
KerasKeras ontwikkelaarsN/ANeural network API gebruikt met TensorFlow/Keras voor GAN architectuur
matplotlibmatplotlib ontwikkelaarsN/APlotbibliotheek
MIMIC-III DatabasePhysioNethttps://physionet.org/content/mimiciii/1.4/Critical care database voor geplande externe validatie
missingnomissingno ontwikkelaarsN/AVisualisatie van missingness matrix
NumPyNumPy ontwikkelaarsN/ANumerieke berekeningen
pandaspandas ontwikkelaarsN/AGegevensmanipulatie
PhysioNetPhysioNethttps://physionet.org/Toegangsplatform/bron voor MIMIC-III
PythonPython Software FoundationN/AVersie 3.9/3.9.7
scikit-learnscikit-learn ontwikkelaarsN/AMachine learning bibliotheek, inclusief preprocessing, modeltraining, cross-validatie en metrics
SciPySciPy ontwikkelaarsN/AStatistisch testen, inclusief Welch’s t-test en Spearman correlatie
SHAPSHAP ontwikkelaarsN/AExplainable AI bibliotheek
Statlog Heart Disease DatasetUCI Machine Learning Repositoryhttps://archive.ics.uci.edu/ml/datasets/statlog+(heart)Benchmark dataset voor hartziekte
TensorFlowGoogleN/ADeep learning framework voor GAN implementatie
UCI Machine Learning RepositoryUniversity of California, Irvinehttps://archive.ics.uci.edu/Repository bron voor Cleveland en Statlog datasets
```

Herprints en machtigingen

Toestemming aanvragen om de tekst of afbeeldingen van dit JoVE-artikel te hergebruiken

Toestemming aanvragen

Trefwoorden

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

Gerelateerde artikelen