Method Article

Predicción de enfermedades cardíacas mediante selección estadística de características y aprendizaje automático interpretable

DOI:

10.3791/71170

June 5th, 2026

In This Article

Summary

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

Este protocolo describe un marco de aprendizaje automático para la predicción de enfermedades cardíacas que combina la ampliación de datos mediante redes generativas adversariales, selección estadística y basada en metaheurísticas de características, e inteligencia artificial explicable.

Abstract

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

Las enfermedades cardíacas son una de las principales causas de muerte a nivel mundial, lo que convierte su predicción temprana en un tema clínico y computacional importante. Varios estudios han abordado desafíos como la escasez de datos, la selección de características y la interpretabilidad del modelo de forma individual, pero menos estudios han propuesto un marco integrado que aborde estos desafíos de manera sinérgica. Este artículo presenta un marco predictivo integral que utiliza: (1) una red generativa adversarial (GAN) para abordar el desequilibrio de clases y la escasez de datos; (2) un enfoque híbrido de selección de características que combina prefiltrado estadístico mediante el test t de Welch y el tamaño del efecto d de Cohen, junto con optimización metaheurística mediante optimización Harris Hawk; y (3) varios métodos explicables de inteligencia artificial, incluyendo SHAP, gráficos de dependencia parcial y razones de probabilidades. Este marco se evaluó en los conjuntos de datos de Cleveland y Statlog, lo que arrojó una gran precisión, puntuaciones F1 y valores ROC-AUC en comparación con líneas base seleccionadas y métodos existentes. El modelo proporciona un marco computacional robusto e interpretable para la predicción de enfermedades cardíacas, vinculando el rendimiento del aprendizaje automático con la interpretabilidad clínica.

Introduction

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

Las enfermedades cardiovasculares son una de las principales causas de morbilidad y mortalidad a nivel mundial, representando aproximadamente 17,9 millones de muertes alaño. Una predicción temprana y precisa de la enfermedad cardíaca es importante para una intervención oportuna y mejores resultados para los pacientes. En este contexto, la predicción de enfermedades cardíacas mediante algoritmos de aprendizaje automático (ML) se enfrenta a tres desafíos principales: la disponibilidad limitada de datos médicos de alta calidad, los espacios de características de alta dimensión que contienen variables redundantes o irrelevantes, y la naturaleza de caja negra de los modelos complejos, que pueden dificultar la confianza y adopción clínica2. Trabajos recientes han combinado el aprendizaje automático con métodos de inteligencia artificial explicable (XAI) para la predicción de enfermedadescardíacas 3. Muchos investigadores también han utilizado el aprendizaje automático para la predicción y detección de enfermedadescardíacas 4. Los desarrollos recientes en inteligencia artificial generativa, especialmente en redes generativas adversariales (GAN), son prometedores para la ampliación de datos en la atenciónsanitaria 5. Simultáneamente, algoritmos metaheurísticos como la Optimización Harris Hawk (HHO) y la Optimización en Enjambre de Partículas (PSO) han demostrado ser efectivos en la selección de características y la optimización delmodelo 6. Las técnicas XAI, como SHAP y los diagramas de dependencia parcial (PDP), también han surgido como herramientas importantes para interpretar predicciones de modeloscomplejos 7. Se han realizado muchos estudios sobre modelos de aprendizaje automático para la predicción del riesgocardiovascular 8.

Sin embargo, la literatura disponible suele tratar estos temas de forma aislada. Algunos estudios se centran en la ampliación de datos usandoGANs 9, mientras que otros se centran específicamente en la selección de características usando algoritmos metaheurísticos10 o en la interpretabilidad del modelo basada en los métodosXAI 11. Se ha explorado la mejora basada en SMOTE para la predicción de supervivencia a la insuficienciacardíaca 12. También se ha reportado un diagnóstico de enfermedades cardíacas basadas enKNN 13. Estos enfoques separados no aprovechan completamente los beneficios combinados que se pueden lograr a través de un marco integrado que aborde la escasez de datos, la selección de características, el entrenamiento de modelos y la interpretabilidad conjuntamente.

Estudios recientes han explorado enfoques relacionados. Un estudio de 2026 en Frontiers in Medicine propuso clasificadores heterogéneos optimizados para PSO con interpolación de relleno y imputación mediana para el diagnóstico de enfermedades cardíacas, logrando una precisión del 91,3% en un conjunto de datoscombinado 14. Otros trabajos recientes han aplicado la optimización metaheurística para segmentación de imágenesmédicas 15, XAI para la predicción de ictus16, optimización híbrida para la clasificación de arritmiascardíacas 17 y sistemas de apoyo a la decisión clínica mejorados porSHAP 18. Sin embargo, pocos de estos estudios combinan aumento generativo, selección estadística de características de doble criterio con optimización HHO y XAI multimétodo en un único marco integrado.

Este artículo pretende abordar esta carencia proponiendo un marco de predicción de enfermedades cardíacas que integre sistemáticamente la ampliación de datos, la selección de características híbridas, la optimización y entrenamiento de modelos, y el análisis de explicabilidad. En la fase de aumento de datos, las GAN se utilizan para sintetizar datos clínicos tabulares basándose en características del paciente como la edad, la presión arterial, los niveles de colesterol y las mediciones electrocardiográficas. Aunque las GAN se utilizan ampliamente para la generación de imágenes médicas, este estudio las aplica al conjunto de datos de Enfermedades Cardíacas de Cleveland, que contiene 13 características numéricas y categóricas, para abordar el tamaño limitado de la muestra (n = 303) y el desequilibrio de clases. En la fase híbrida de selección de características, la prueba t de Welch y el tamaño del efecto d de Cohen se combinan con HHO para identificar subconjuntos de características estadísticamente robustos y clínicamente relevantes. Durante la fase de optimización y entrenamiento del modelo, el PSO se utiliza para optimizar los pesos de la red neuronal artificial, mientras que los modelos de Regresión Logística y Bosque Aleatorio se entrenan debido a su equilibrio entre rendimiento y explicabilidad. En la etapa de explicabilidad, se utilizan técnicas complementarias XAI, incluyendo SHAP, PDPs y odds ratios, para proporcionar interpretaciones globales y locales del modelo.

El flujo de trabajo general del marco propuesto se ilustra en la Figura 1. La Tabla 1 resume las diferencias clave entre el enfoque propuesto y los métodos existentes de selección de características [Tabla 1 aquí].

figure-introduction-1
Figura 1: Visión general del marco propuesto para la predicción de enfermedades cardíacas. El flujo de trabajo consta de cuatro fases principales: (1) preprocesamiento y aumento de datos utilizando GANs para abordar la escasez de datos; (2) selección híbrida de características que combina filtrado estadístico (prueba t de Welch con d de Cohen) y optimización de Harris Hawk; (3) entrenamiento de modelos con clasificadores interpretables, incluyendo Regresión Logística y Bosque Aleatorio, y un RNA optimizado para PSO; y (4) análisis de explicabilidad usando SHAP, gráficos de dependencia parcial y razones de probabilidades. Abreviaturas: GANs = redes generativas adversariales; PSO = Optimización de Enjambres de Partículas; ANN = Red Neuronal Artificial. Por favor, haz clic aquí para ver una versión ampliada de esta figura.

Categoría de enfoquePruebas estadísticas (por ejemplo, prueba t)Tamaño del efecto (por ejemplo, d de Cohen)Optimización metaheurística (por ejemplo, HHO/PSO)Enfoque en la interpretabilidad
Estadística tradicionalRara vezNoModerado
Optimización puraNoNoBajo
Métodos híbridos existentesA vecesRara vezVariable
Marco PropuestoSí (prueba t de Welch)Sí (D ≥ 0,5 de Cohen)Sí (HHO)Alto (integrado con XAI)

Tabla 1: Comparación de enfoques de selección de características en la predicción de enfermedades cardíacas. Los enfoques comparados incluyen Estadística Tradicional, Optimización Pura, Métodos Híbridos Existentes y el Marco Propuesto en los siguientes criterios: Pruebas Estadísticas, Tamaño del Efecto, Optimización Metaheurística y Enfoque en la Interpretabilidad.

Las principales contribuciones de este trabajo son las siguientes. Primero, para abordar la escasez de datos y el desequilibrio de clases, se implementa un GAN estándar con pérdida binaria de entropía cruzada y optimización Adam, junto con un respaldo de perturbación gaussiana cuando TensorFlow no está disponible. En segundo lugar, para abordar la redundancia de características, se propone una estrategia híbrida de selección de características que combina el prefiltrado estadístico con HHO usando una función de transferencia en forma de V. Este enfoque de doble criterio pretende seleccionar características que sean estadísticamente significativas y clínicamente relevantes. En tercer lugar, para abordar la opacidad del modelo, se integra un conjunto de explicabilidad multimétodo, que incluye gráficos de enjambre y cascada de SHAP, PDPs y odds ratios con intervalos de confianza del 95%. Se proporciona un protocolo de conciliación sencillo para los usuarios clínicos: si un PDP muestra una tendencia no lineal, la explicación de SHAP debe priorizarse sobre los coeficientes de regresión logística. En cuarto lugar, para apoyar la reproducibilidad y la validación estructurada, el marco incluye validación cruzada estratificada, auditoría de equidad, estudios de ablación, un protocolo externo de validación para MIMIC-III y documentación de hiperparámetros clave.

Access restricted. Please log in or start a trial to view this content.

Protocol

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

Declaración ética, conjunto de datos, software y preparación de datos
Los hallazgos de este estudio se basaron en el conjunto de datos de Enfermedades Cardíacas del Repositorio de Aprendizaje Automático de UCI. Al ser un recurso de acceso público y desidentificado, su uso no requirió la aprobación de un comité ético. Los autores también verifican la originalidad de este manuscrito, confirmando que no ha sido publicado ni enviado previamente a otras revistas.

El conjunto de datos de Enfermedades Cardíacas de Cleveland se dividió en conjuntos de entrenamiento y pruebas con un 80/20. El conjunto de datos suele contener 303 instancias; por lo tanto, se utilizaron aproximadamente 242 muestras para entrenamiento y se conservaron 61 muestras como un conjunto de pruebas limpio. Las muestras sintéticas generadas por el GAN o método de respaldo Gaussiano se añadieron únicamente a los datos de entrenamiento para reducir el riesgo de fuga de datos. El conjunto final de entrenamiento aumentado consistió en aproximadamente 242 muestras reales y 1.000 muestras sintéticas, sumando 1.242 muestras de entrenamiento. No se utilizó ningún conjunto fijo de validación estática. En su lugar, se aplicó la validación cruzada estratificada durante el entrenamiento del modelo, dividiendo cada pliegue los datos de entrenamiento aumentados en subconjuntos de entrenamiento y validación.

El conjunto de datos se cargaba en un DataFrame Pandas y se inspeccionaba en busca de valores faltantes. Las características numéricas con valores ausentes se gestionaron mediante imputación mediana con la clase SimpleImputer de scikit-learn usando estrategia = 'mediana'. Las características categóricas con valores ausentes se manejaron mediante imputación de modo con SimpleImputer usando estrategia = 'most_frequent'. Los mecanismos de ausencia se documentaron calculando el porcentaje faltante de cada característica usando df.isnull().sum() / len(df). Los patrones de ausencia no aleatoria se evaluaron comparando los valores medios de otras características entre muestras con y sin datos faltantes utilizando pruebas t para características numéricas y pruebas de qui-cuadrado para características categóricas. La ausencia se documentaba entonces como Ausente Completamente al Azar (MCAR), Ausente al Azar (MAR) o Ausente No al Azar (MNAR), cuando correspondía.

Para conjuntos de datos con ausencia sustancial, se recomendó un análisis de sensibilidad comparando la imputación mediana/modal con la Imputación Múltiple por Ecuaciones Encadenadas (MICE), utilizando fancyimpute. IterativoImputer con max_iter = 10, y imputación KNN, usando fancyimpute. KNN con k = 5. Una diferencia de precisión inferior a 0,03 se trató como indicativa de robustez al métodode imputación 12. Este análisis de sensibilidad se consideró opcional para el conjunto de datos de Cleveland debido a su falta limitada, pero se recomendó para otros conjuntos clínicos con más del 5% de valores faltantes. Los patrones de ausencia también se visualizaron usando la biblioteca missingno generando un mapa de calor de matriz de ausencia con msno.matrix(df). Se utilizó agrupamiento de patrones de ausencia para identificar si los valores ausentes coocurrían de forma sistemática, lo que podría indicar mecanismos de MNAR que requieren intervención de expertos clínicos.

Las características numéricas se estandarizaron mediante la normalización de puntuación z. StandardScaler de scikit-learn se ajustaba a los datos de entrenamiento y luego se aplicaba tanto a conjuntos de entrenamiento como de prueba. Las variables categóricas se codificaban mediante codificación one-hot. El tipo de dolor torácico (cp), que contiene cuatro categorías, se convirtió en cuatro columnas indicadoras binarias usando pandas.get_dummies. La talasemia (thal), que contiene tres categorías, se convirtió en tres columnas indicadoras binarias. Debido a que el generador y discriminador GAN usaban una dimensión fija de entrada/salida de 13 características correspondientes al conjunto de datos original antes de la codificación one-hot, las muestras sintéticas se generaban en el espacio original de 13 características y luego pasaban por la misma tubería de codificación one-hot que los datos reales. Esto preservaba la compatibilidad con la arquitectura GAN y permitía el uso de características codificadas para el entrenamiento de modelos.

Definiciones matemáticas y métricas de calidad
La distancia de Fréchet se utilizó para comparar distribuciones de características reales y sintéticas. La distancia de Fréchet Fr(F, G) entre dos distribuciones F y G se definió de la siguiente manera:

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

donde E representa la esperanza, y la minimización se toma sobre todas las variables aleatorias X e Y que tienen distribuciones F y G, respectivamente19.

La optimización Harris Hawk (HHO) se utilizó como método de optimización metaheurística. HHO se inspira en el comportamiento cooperativo de caza de los halconesHarris 20. La transición entre las fases de exploración y explotación estaba controlada por la energía de escape E. En la fase de exploración, donde |E| ≥ 1, la actualización se definió de la siguiente manera:

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

En la fase de explotación, donde |E| < 1, las actualizaciones se determinaban por la energía de escape E = 2E(1 − t/T) y la fuerza del salto J = 2(1 − r5). En la condición de asedio suave, donde están ≥ 0,5 y |E| ≥ 0.5, la actualización se definió de la siguiente manera:

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

En la condición de asedio duro, ¿dónde están ≥ 0,5 y |E| < 0.5, la actualización se definió de la siguiente manera:

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

La equidad se evaluó utilizando la paridad estadística y el equilibrio de tasa de error, siguiendo a Hardt et al.20 y Lima et al.21. Como métricas de equidad se utilizaron diferencias de paridad demográfica, diferencia de probabilidades igualadas y error de calibración basado en edad.

figure-protocol-1

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

ΔBS=|BS edad<50 - BSedad>50 |

donde BS es la puntuación Brier:

figure-protocol-2

La interpretabilidad del panel se basaba en valores SHAP, que se calculan usando la teoría de juegos coalicionales18.

figure-protocol-3

donde Φi representa la atribución SHAP para la característica i, F. f(S) representa el conjunto de todas las características, y representa la predicción del modelo para un subconjunto de características S.

Aumento de datos basado en GAN
Para abordar la escasez de datos y el desequilibrio de clases, se utilizó una Red Generativa Adversarial (GAN) para generar muestras sintéticas. La arquitectura del generador estaba configurada en TensorFlow/Keras. Aceptaba un vector de ruido de 100 dimensiones muestreado de una distribución normal estándar N(0,1), seguido de capas densas con 128, 256 y 512 unidades usando activación ReLU. La capa de salida contenía 13 unidades, correspondientes a la dimensión original de la característica, y utilizaba activación sigmoide.

La arquitectura del discriminador aceptaba un vector de características de 13 dimensiones como entrada. Consistía en capas densas con 512, 256 y 128 unidades usando activación LeakyReLU con α = 0,2. La capa de salida contenía una unidad con activación sigmoide para la clasificación binaria de muestras reales frente a sintéticas.

El GAN fue entrenado durante 100 épocas utilizando un lote de 64 años. El optimizador Adam se utilizó con una tasa de aprendizaje de 0,0002, β1 = 0,5 y β2 = 0,999. Durante cada época, el discriminador se entrenaba alternativamente en lotes reales y sintéticos, y el generador se entrenaba para engañar al discriminador. Tras el entrenamiento, se introdujeron 1.000 vectores de ruido aleatorio en el generador para producir 1.000 muestras sintéticas, que se añadieron únicamente al conjunto de entrenamiento.

El colapso de modos se monitorizaba durante el entrenamiento GAN midiendo la varianza de cada característica sintética entre 100 muestras generadas cada 10 épocas. Si la varianza de cualquier característica bajaba por debajo del 10% de la varianza correspondiente en datos reales durante tres comprobaciones consecutivas, se sospechaba el colapso del modo. Las estrategias de mitigación incluyeron reducir la tasa de aprendizaje a 1 × 10⁻4, aumentar el tamaño del lote a 128, reiniciar el entrenamiento con una inicialización de peso diferente o reemplazar el GAN estándar por el GAN de Wasserstein con penalización por gradiente (WGAN-GP), tal como describen Arjovsky et al.17. La implementación utilizó un GAN estándar con un respaldo de perturbación gaussiana para asegurar la generación de datos sintéticos cuando TensorFlow no estaba disponible.

La calidad de los datos sintéticos se evaluó calculando la distancia de Fréchet entre distribuciones de características reales y sintéticas mediante una implementación personalizada. También se entrenó un clasificador, como la regresión logística, para distinguir muestras reales de sintéticas; La precisión de clasificación cercana al azar se trató como indicativa de alta fidelidad. Se calculó el AUC de Recordo de Precisión, considerando valores superiores a 0,9 indicativos de buena captura de distribución. También se compararon las correlaciones de Pearson entre pares de características en los conjuntos de datos real y sintético, tratando diferencias por debajo de 0,05 como preservación aceptable de la estructura de correlación.

Cuando TensorFlow/Keras no estaba disponible o el entrenamiento GAN fallaba, se utilizaba un método de retroceso por perturbación gaussiana. Para cada clase, la media (μ) y la desviación estándar (σ) de cada característica se calcularon a partir del conjunto de entrenamiento. A continuación, se generaron muestras sintéticas de la siguiente manera:

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

Las etiquetas de clase se generaban en proporción a la distribución original de clases. Este respaldo se incluyó para apoyar la reproducibilidad en entornos sin dependencias de aprendizaje profundo.

Selección de características híbridas
Se aplicó una estrategia híbrida de selección de características en dos etapas. En la primera etapa, se realizó un prefiltrado estadístico. Para cada característica xi en el conjunto X, los valores se dividieron en dos grupos según la variable binaria de resultado: G0 para y = 0, indicando que no hay enfermedad, y G1 para y = 1, indicando presencia de enfermedad. La prueba t de dos muestras de Welch se realizó usando scipy.stats.ttest_ind con equal_var = Falso. El tamaño del efecto d de Cohen se calculó entonces de la siguiente manera:

d = (media1 − media2) / pooled_std

donde:

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

El nombre de la característica, el valor p y el valor d de Cohen se almacenaban en una tabla de resultados. Se seleccionaron características si cumplían ambos criterios: valor p < 0,05 y |El d| de Cohen ≥ 0,5. El conjunto de características resultante se definió como Xfiltered.

La prueba t de Welch se utilizó porque es adecuada para características numéricas continuas como edad, talaco y pico antiguo. Para características categóricas binarias como sexo y exang, la prueba t. produce resultados comparables a una prueba de proporción al comparar dos grupos. Características multicategóricas como cp y thal se codificaron en un hot, y cada indicador binario se probó individualmente contra la variable de resultado. Este enfoque se consideró apropiado porque el conjunto de datos de Cleveland tiene más de 30 muestras, las características se estandarizaron antes del análisis y equal_var = False tiene en cuenta las varianzas desiguales entre grupos. Para características con violaciones graves de la normalidad, la prueba Mann-Whitney U se consideró como una prueba alternativa no paramétrica.

El umbral p < 0,05 siguió la significación estadística convencional, mientras que |El d| de Cohen ≥ 0,5 correspondía a un tamaño de efecto moderado a grande. Para conjuntos de datos con muestras pequeñas o resultados poco frecuentes, se recomendó el ajuste basado en bootstrap, la corrección de Hedges g o umbrales exploratorios relajados con aportaciones clínicas de expertos. Por ejemplo, se podrían usar 1.000 remuestreos bootstrap para calcular los intervalos de confianza d de Cohen, y se podría aplicar la g de Hedges para corregir el sesgo de muestras pequeñas. Características con estadísticas límite, como valores p entre 0,03 y 0,08 o |d| Se documentaron valores entre 0,4 y 0,6 para posible revisión clínica experta antes de su exclusión.

En la segunda etapa, se aplicó la Optimización Harris Hawk (HHO) al conjunto de características filtrado estadísticamente. El tamaño de la población de los HHO se estableció en 20, y el número máximo de iteraciones en 50. Cada solución se representaba como un vector binario con longitud igual al número de características en Xfiltered, donde 1 indicaba que se había seleccionado una característica y 0 que no se había seleccionado. Las posiciones continuas de HHO se mapearon a vectores binarios usando la función de transferencia en forma de V:

T(x) = |tanh(x)|

El valor binario se establecía en 1 si T(x) > 0,5 y en 0 en caso contrario. La función en forma de V fue seleccionada porque permite la exploración y explotación equilibrada durante la conversión binaria.

La función de aptitud para cada solución se definió mediante regresión logística. Se entrenó un modelo de regresión logística usando únicamente las características seleccionadas por el vector binario, y se realizó una validación cruzada de 5 veces usando cross_val_score de scikit-learn. La aptitud física se calculó de la siguiente manera:

aptitud = 1 − precisión media

La población de posiciones de halcones se inicializó uniformemente en el rango [−1, 1] usando numpy.random.uniform(−1, 1, (population_size, n_features)) con una semilla aleatoria fija de 42 para la reproducibilidad. En cada iteración, se evaluó la aptitud de todos los halcones, se identificó la mejor posición del halcón como el conejo, y se actualizaron las posiciones de los halcones utilizando las ecuaciones de exploración y explotación de HHO basadas en la energía de escape. Tras la convergencia, se seleccionaba el vector binario con mejor rendimiento como el subconjunto final de características, Xfinal.

Las características seleccionadas se registraron a partir de una única ejecución de optimización HHO con una semilla aleatoria fija. Para aplicaciones que requieren mayor confianza estadística, se recomendaron 30 etapas independientes con diferentes semillas aleatorias, y se pudieron seleccionar características de consenso que aparecieran en al menos el 80% de las partidas. La implementación reportada se basó en una única ejecución representativa, ya que las pruebas preliminares indicaron una convergencia consistente.

Entrenamiento y optimización de modelos
Se consideraron tres modelos: Regresión Logística, Bosque Aleatorio y una Red Neuronal Artificial (ANN) optimizada para PSO. La regresión logística se entrenó utilizando la validación cruzada estratificada de 5 veces para mantener la distribución de clases. La intensidad de regularización C se optimizó usando el espacio de búsqueda C figure-protocol-4 [0,001, 0,01, 0,1, 1, 10]. Para cada pliegue y cada valor de C, el modelo se entrenó en el pliegue de entrenamiento y se evaluó en el pliegue de validación. Se seleccionó el valor de C que maximizaba la precisión media de validación entre pliegues.

El modelo de Bosque Aleatorio se entrenó usando ajuste de hiperparámetros. El espacio de búsqueda incluía max_depth = [5, 10, 15, Ninguno] y min_samples_split = [2, 5, 10]. La búsqueda en cuadrícula con validación cruzada de 5 veces se realizó utilizando ROC-AUC como métrica de optimización a través de GridSearchCV con puntuación = 'roc_auc'. El modelo seleccionado de Bosque Aleatorio utilizó max_depth = 10 y min_samples_split = 5. La estimación de puntuación fuera de la bolsa (OOB) se habilitó usando oob_score = Verdadero.

El sobreajuste se evaluó calculando la diferencia entre la precisión del entrenamiento y la puntuación OOB:

overfitting_gap = training_accuracy − oob_score

Una brecha de sobreajuste por debajo de 0,05 se consideró indicativa de buena generalización, mientras que una brecha superior a 0,10 indicaba la necesidad de reducir max_depth o aumentar min_samples_split. Con una puntuación OOB de 0,9296 y una precisión típica de entrenamiento entre 0,94 y 0,96, la diferencia fue aproximadamente de 0,01–0,03.

También se optimizó un clasificador ANN utilizando la Optimización por Enjambre de Partículas (PSO). La arquitectura ANN consistía en una capa de entrada, una capa oculta con 64 neuronas usando activación ReLU, y una capa de salida con una neurona usando activación sigmoide. PSO se inicializó con 50 partículas y 50 iteraciones y se utilizó para optimizar los pesos iniciales de la red. El RNA se entrenó entonces usando retropropagación estándar. Como la optimización PSO se realizó sobre los mismos datos de entrenamiento sin validación cruzada anidada, este componente se trató con cautela. Para aplicaciones futuras, se recomendó la validación cruzada anidada, con un bucle exterior de 10 partidas para la evaluación y un bucle interno de 10 para la selección de hiperparámetros PSO. Se consideró aceptable una brecha de generalización por debajo de 0,08, mientras que una brecha por encima de 0,15 indicaba un posible sobreajuste que requeriría simplificación del modelo.

Evaluación del modelo
La evaluación del modelo se realizó mediante validación cruzada estratificada de 10 veces en el conjunto final de características, Xfinal. En cada pliegue, se entrenaron modelos de Regresión Logística y Bosque Aleatorio sobre los datos de entrenamiento y evaluados con los datos de validación. Precisión, Precisión, Recordo, puntuación F1 y ROC-AUC se calcularon usando classification_report y roc_auc_score de scikit-learn. La media y la desviación estándar de todas las métricas se calcularon a lo largo de las 10 veces.

La brecha de generalización también se calculó para cada pliegue de la siguiente manera:

generalization_gap = training_accuracy − validation_accuracy

Se informó de la brecha de generalización media en las 10 veces. Se consideró que una brecha media por debajo de 0,08 indicaba un sobreajuste mínimo, mientras que una brecha por encima de 0,15 sugería sobreajuste y la necesidad de regularización o reducción de la complejidad del modelo. Se realizaron pruebas de rango por signo de Wilcoxon para comparar el marco propuesto con métodos de referencia en 10 pliegues usando α = 0,01.

Análisis de explicabilidad
El análisis de explicabilidad se realizó utilizando métodos específicos y agnósticos de cada modelo. Para la Regresión Logística, se ajustó el modelo final y se extrajeron valores de coeficientes para cada característica seleccionada. Las razones de probabilidad se calcularon como exp (coeficiente), y se calcularon intervalos de confianza del 95% utilizando los errores estándar de los coeficientes.

Para Random Forest, las puntuaciones de importancia de Gini se extrajeron del modelo entrenado usando el atributo feature_importances_ y se normalizaron para sumar 1. Las explicaciones de SHAP se generaban usando la biblioteca SHAP. Se creó un objeto KernelExplainer utilizando el modelo entrenado y un conjunto de datos de fondo, como 100 muestras de entrenamiento seleccionadas aleatoriamente. Los valores SHAP se calcularon para todas las instancias del conjunto de pruebas usando shap_values. Se generaron diagramas resumen de enjambre de abejas usando shap.summary_plot, y gráficos de barras con valores absolutos medios de SHAP usando shap.bar_plot.

Se generaron Diagramas de Dependencia Parcial (PDP) para las principales características identificadas mediante el análisis SHAP. Para cada característica seleccionada, se creaba una secuencia de valores que abarcaban el rango de características. Cada valor se sustituyó en la columna de características manteniendo las demás características constantes, y la probabilidad media predicha se calculó en todas las instancias. Los valores de las características se representaron en función de las predicciones medias usando matplotlib. Se añadieron intervalos de confianza del 95% usando 100 iteraciones de remuestreo bootstrap.

Se generaron gráficos de Expectativa Condicional Individual (ICE) para características seleccionadas trazando trayectorias de predicción para instancias individuales a medida que cambiaban los valores de las características. La línea del PDP se superpuso sobre la parcela de ICE. Se compararon métodos explicativos calculando la correlación de rangos de Spearman entre las razones de probabilidades de regresión logística y los valores de SHAP de Bosque Aleatorio usando scipy.stats.spearmanr. Se documentaron discrepancias entre los métodos de explicación para la interpretación clínica. Cuando los coeficientes de regresión SHAP y logística entraron en conflicto, se examinó el PDP para esa característica. Si el PDP mostraba una tendencia no lineal, la explicación SHAP se priorizaba sobre el coeficiente de regresión logística porque el Bosque Aleatorio puede capturar relaciones no lineales que los modelos lineales no pueden.

Protocolo de generalización del marco para validación externa usando MIMIC-III
Se debozó un protocolo de validación externo para aplicar el marco a la base de datos MIMIC-III. El acceso a MIMIC-III requeriría la aprobación de PhysioNet y la finalización de la formación requerida en sujetos humanos. La cohorte propuesta incluiría pacientes adultos de 18 años o más con primer ingreso en UCI y códigos CIE-9 410–414 para infarto agudo de miocardio o códigos CIE-10 I20–I25 para enfermedad cardíaca isquémica. Los criterios de exclusión incluirían más del 30% de valores faltantes en las características objetivo, duración de la estancia por debajo de 24 horas, edad superior a 90 años, cirugía cardíaca previa o enfermedad cardíaca congénita.

El resultado propuesto fue eventos adversos cardíacos mayores (ECM) en las 72 horas posteriores al ingreso, definidos como un compuesto de mortalidad hospitalaria, shock cardiogénico o arritmia ventricular que requirió intervención. Características de series temporales como la frecuencia cardíaca y la presión arterial se agregarían durante las primeras 24 horas de estancia en la UCI usando media, mediana, mínima, máxima y tendencia, donde la tendencia se estimaría como la pendiente de la regresión lineal a lo largo del tiempo. La frecuencia cardíaca máxima se usaría como equivalente cartografiado de la talaca.

Las características del conjunto de datos de Cleveland se mapearían a variables MIMIC-III. Por ejemplo, el talach se mapearía a la frecuencia cardíaca máxima registrada durante las primeras 24 horas de estancia en UCI, la cp se mapearía a evaluaciones estructuradas del dolor y menciones extraídas con PLN del dolor torácico, y oldpeak se mapearía a la desviación del segmento ST respecto a los informes ECG. Se crearía una tabla de mapeo para documentar todas las alineaciones de características.

Antes de aplicar toda la pipeline, la extracción de PLN para oldpeak se validaría en 100 informes ECG seleccionados aleatoriamente. La precisión, la llamada y la puntuación F1 se calcularían en función de la anotación manual por dos clínicos. Si la puntuación F1 era inferior a 0,85, se revisarían los patrones regex o se utilizarían datos ECG estructurados de eventos gráficos como alternativa. La cadena de preprocesamiento se repetiría entonces sobre los datos MIMIC-III extraídos, el GAN se reentrenaría para aumentación, se reaplicaría la selección de características híbridas, se reentrenarían los modelos, se generarían explicaciones y se compararían métricas de rendimiento con los resultados del conjunto de datos de Cleveland.

Implementación de paneles clínicos
Se diseñó un prototipo de panel clínico basado en web utilizando un marco como Flask o Django. Se planificaron endpoints de la API HL7/FHIR para la integración de EHR, con autenticación y autorización configuradas según las políticas de seguridad institucionales. Las funciones de mapeo de datos fueron diseñadas para convertir los datos de los EHR en formato de entrada de modelo.

La interfaz de usuario incluía tres vistas principales. La vista previa al cribado mostraba la demografía de los pacientes y calculaba las puntuaciones de riesgo con niveles de riesgo codificados por colores. La vista de soporte a la decisión mostraba un gráfico en cascada SHAP que mostraba los principales factores que contribuían a un paciente específico. La vista de planificación de intervenciones permitió el análisis hipotético ajustando factores de riesgo modificables y mostrando predicciones de riesgo actualizadas. Se incluyó la funcionalidad de exportación para guardar informes como archivos PDF o integrarlos con sistemas de documentación EHR.

Para el despliegue clínico futuro, se planificó una evaluación de usabilidad con panel de control con al menos cinco clínicos. La evaluación utilizaría la Escala de Usabilidad del Sistema, con una puntuación objetivo superior a 68, tiempo de finalización de la tarea, con una reducción objetivo de al menos un 20% en comparación con el uso solo del EHR, y escalas de satisfacción de 5 puntos para la claridad y confianza de la explicación. Esta evaluación de usabilidad estaba prevista como un paso futuro y no se implementó en el estudio actual.

Access restricted. Please log in or start a trial to view this content.

Results

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

Entornos experimentales y métricas de rendimiento
Todos los experimentos se realizaron en Python 3.9 utilizando las librerías scikit-learn, TensorFlow y SHAP. Se empleó una validación cruzada estratificada de 10 veces. Las métricas de evaluación incluyeron Precisión, Precisión, Recordatorio, puntuación F1 y ROC-AUC.

Comparación de rendimiento con métodos de referencia seleccionados

Access restricted. Please log in or start a trial to view this content.

Discussion

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

El marco descrito aquí proporciona un enfoque reproducible para desarrollar modelos interpretables de predicción de enfermedades cardíacas. Un prototipo de panel clínico que integra estas explicaciones se muestra en la Figura 4, que implementa un flujo de trabajo en tres etapas: preselección, apoyo a la decisión con SHAP y planificación de intervenciones [Figura 4 aquí]. Varios pasos críticos requieren una atención muy estricta para garantizar la ejecución e...

Access restricted. Please log in or start a trial to view this content.

Disclosures

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

Los autores no tienen conflictos de interés que declarar.

Acknowledgements

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

Los autores reconocen el apoyo de la Universidad Capital (Helwan) y de la Universidad Abierta Árabe por proporcionar instalaciones de investigación. Esta investigación no recibió ninguna subvención específica de agencias financiadoras del sector público, comercial o sin ánimo de lucro.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Conjunto de datos de Enfermedades Cardíacas de ClevelandRepositorio de Aprendizaje Automático UCIhttps://archive.ics.uci.edu/ml/datasets/heart+diseaseConjunto de datos de referencia de enfermedades cardíacas utilizado para el desarrollo/evaluación de modelos
DjangoFundación de Software DjangoN/AMarco web alternativo para la implementación de paneles
fancyimputeDesarrolladores de fancyimputeN/AAnálisis opcional de sensibilidad por imputación de MICE y KNN
FrascoProyectos de PaletsN/AMarco web para la implementación de paneles de control
Estándar de API HL7/FHIRHL7 InternacionalN/AEstándar previsto para la integración de EHR/panel de control
KerasDesarrolladores de KerasN/AAPI de redes neuronales utilizada con TensorFlow/Keras para la arquitectura GAN
matplotlibDesarrolladores matplotlibN/ABiblioteca de trazado
Base de datos MIMIC-IIIPhysioNethttps://physionet.org/content/mimiciii/1.4/Base de datos de cuidados críticos para validación externa planificada
MissingnoAusentesno desarrolladoresN/AVisualización de la matriz de ausencia
NumPyDesarrolladores NumPyN/AComputación numérica
PandasDesarrolladores de PandasN/AManipulación de datos
PhysioNetPhysioNethttps://physionet.org/Plataforma/fuente de acceso para MIMIC-III
PythonFundación de Software PythonN/AVersión 3.9/3.9.7
scikit-learnDesarrolladores de scikit-learnN/ABiblioteca de aprendizaje automático, incluyendo preprocesamiento, entrenamiento de modelos, validación cruzada y métricas
SciPyDesarrolladores SciPyN/APruebas estadísticas, incluyendo a Welch' test t y correlación de Spearman
SHAPDesarrolladores SHAPN/ABiblioteca de IA explicable
Conjunto de datos de enfermedades cardíacas StatlogRepositorio de Aprendizaje Automático UCIhttps://archive.ics.uci.edu/ml/datasets/statlog+(corazón)Conjunto de datos de referencia sobre enfermedades cardíacas
TensorFlowGoogleN/AMarco de aprendizaje profundo para la implementación de GAN
Repositorio de Aprendizaje Automático UCIUniversidad de California, Irvinehttps://archive.ics.uci.edu/Fuente del repositorio para conjuntos de datos de Cleveland y Statlog

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

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

Related Articles