CD_17 Original + Derivados

CD_17: Pima Indians Diabetes: Predicción de Inicio de Diabetes

Recurso clásico del Instituto Nacional de Diabetes y Enfermedades Digestivas y Renales de los EE. UU enfocado en predecir el desarrollo de diabetes (5 años) en mujeres de herencia Indios Pima, un grupo indígena nativo de Arizona (EE. UU.), (>21 años). Consta de 768 instancias y 8 predictores que integran historia reproductiva (embarazos), marcadores metabólicos (glucosa, insulina, IMC), salud cardiovascular (presión arterial diastólica) y genética (DiabetesPedigreeFunction)..

📈 Eficacia Predictiva Detallada

Comparación detallada de las métricas de clasificación para los modelos entrenados con el conjunto de datos original y el conjunto sintético generado.

📊 Conjunto Original

Clase Precisión Recall F1-Score Soporte
Clase 0 0.73 0.86 0.79 100
Clase 1 0.61 0.41 0.49 54
Accuracy 0.70
Macro Avg 0.67 0.63 0.64 154
Weighted Avg 0.69 0.70 0.68 154
AUC-ROC: 0.78
F1-Score (weighted): 0.68
Accuracy: 0.70
➡️ Mejora
⬆ +0.03 AUC ⬆ +0.05 F1 ⬆ +0.03 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.79 0.80 0.80 100
Clase 1 0.62 ⬆ +0.01 0.61 ⬆ +0.20 0.62 ⬆ +0.13 54
Accuracy 0.73 ⬆ +0.03
Macro Avg 0.71 ⬆ +0.04 0.71 ⬆ +0.08 0.71 ⬆ +0.07 154
Weighted Avg 0.73 ⬆ +0.04 0.73 ⬆ +0.03 0.73 ⬆ +0.05 154
AUC-ROC: 0.81 ⬆ +0.03
F1-Score (weighted): 0.73 ⬆ +0.05
Accuracy: 0.73 ⬆ +0.03

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.61
Sintético: 0.62
⬆ +0.01
📈
Recall
Original: 0.41
Sintético: 0.61
⬆ +0.20
⚖️
F1-Score
Original: 0.49
Sintético: 0.62
⬆ +0.13

📚 Fuente Original del Conjunto

Pima Indians Diabetes Database

v1.0
Smith, J.W., Everhart, J.E., Dickson, W.C., Knowler, W.C., & Johannes, R.S.
Publicado: 1988

📄 Resumen (Abstract)

El conjunto de datos de Diabetes de Indios Pima, originalmente del Instituto Nacional de Diabetes y Enfermedades Digestivas y Renales (NIDDK), está diseñado para predecir diagnósticamente si una paciente tiene diabetes o no, basándose en ciertas mediciones diagnósticas. Todas las pacientes son mujeres de al menos 21 años de edad y de herencia Pima, una población con una alta prevalencia de diabetes tipo 2. El conjunto de datos contiene variables predictoras médicas como el número de embarazos, índice de masa corporal (BMI), nivel de insulina, edad, entre otras, junto con una variable objetivo (Outcome) que indica la presencia o ausencia de diabetes.

🔬 Contexto y Métodos

Este conjunto de datos fue utilizado en el estudio de Smith et al. (1988), quienes aplicaron el algoritmo de aprendizaje ADAP (Adaptive Pattern Recognition) para predecir la aparición de diabetes mellitus en la población Pima. El estudio fue publicado en las actas del Symposium on Computer Applications and Medical Care. La población Pima fue seleccionada debido a su alta tasa de diabetes tipo 2, lo que la convierte en un grupo ideal para estudios epidemiológicos y de predicción. Se aplicaron varias restricciones en la selección de estas instancias de una base de datos más grande, incluyendo:

  • Pacientes femeninas
  • Edad mínima de 21 años
  • Herencia Pima (grupo indígena americano)

📊 Descripción de Datos

El dataset contiene 768 instancias con 8 variables predictoras y 1 variable objetivo. Todas las variables son de tipo numérico.

📋 Variables Predictoras
Variable Descripción Unidades / Rango
Pregnancies Número de embarazos 0-17
Glucose Concentración de glucosa en plasma (2 horas después de una prueba de tolerancia oral) mg/dL (0-199)
BloodPressure Presión arterial diastólica mm Hg (0-122)
SkinThickness Grosor del pliegue cutáneo del tríceps mm (0-99)
Insulin Nivel de insulina sérica (2 horas después de la prueba oral) mu U/ml (0-846)
BMI Índice de masa corporal (peso en kg / (altura en m)²) kg/m² (0-67.1)
DiabetesPedigreeFunction Función de pedigrí de diabetes (historia familiar) 0.078-2.42
Age Edad en años 21-81
🎯 Variable Objetivo
  • Outcome - 1 = diabetes diagnosticada, 0 = sin diabetes

📋 Características del Dataset

  • Tipo de problema: Clasificación binaria (Diabetes vs. No Diabetes)
  • Dimensión: Multivariante
  • Tipo de características: Numéricas (enteras y reales)
  • Valores faltantes: Sí (algunas variables tienen valores 0 que indican datos faltantes)
  • Área de aplicación: Salud y Medicina, Epidemiología
  • Población: Mujeres Pima de al menos 21 años

📖 Publicación Introductoria

El artículo fundamental que describe el uso del algoritmo ADAP para la predicción de diabetes mellitus es:

Smith, J.W., Everhart, J.E., Dickson, W.C., Knowler, W.C., & Johannes, R.S. (1988). Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. In Proceedings of the Symposium on Computer Applications and Medical Care (pp. 261-265). IEEE Computer Society Press.

⚖️ Ética y Privacidad

El conjunto de datos ha sido desidentificado para proteger la privacidad de los participantes. No contiene información personal identificable como nombres, direcciones o números de identificación. Restricción de confidencialidad: En cumplimiento de los protocolos de privacidad, el uso de los datos está restringido a fines académicos y de investigación. La publicación de resultados debe limitarse a métricas de evaluación, resultados agregados y metodología del modelo, sin divulgación de información que permita la reidentificación de pacientes.

📋 Notas de Uso

Este conjunto de datos es ampliamente utilizado como referencia en problemas de clasificación médica. Se recomienda:

  • Manejar adecuadamente los valores faltantes: algunas variables tienen valores 0 que pueden indicar datos no disponibles (especialmente Glucose, BloodPressure, SkinThickness, Insulin y BMI)
  • Utilizar validación cruzada estratificada debido al desbalanceo potencial entre clases
  • Estandarizar/normalizar las características dado que tienen rangos muy diferentes
  • Considerar técnicas de selección de características para reducir la dimensionalidad
  • La DiabetesPedigreeFunction es una medida de la historia familiar de diabetes, que puede ser un predictor importante

💡 Importancia Clínica

La diabetes tipo 2 es una enfermedad crónica que afecta a millones de personas en todo el mundo y es una de las principales causas de morbilidad y mortalidad. La población Pima de Arizona tiene una de las tasas más altas de diabetes tipo 2 del mundo, lo que la convierte en un grupo de estudio invaluable para comprender los factores de riesgo y desarrollar modelos predictivos. La identificación temprana de individuos en riesgo de desarrollar diabetes permite intervenciones oportunas (cambios en el estilo de vida, medicación) que pueden prevenir o retrasar la aparición de la enfermedad y sus complicaciones asociadas.

📖 Cómo citar la fuente original

Smith, J.W., Everhart, J.E., Dickson, W.C., Knowler, W.C., & Johannes, R.S. (1988). Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. In Proceedings of the Symposium on Computer Applications and Medical Care (pp. 261-265). IEEE Computer Society Press.

📚 Referencias Adicionales

  • Smith, J.W., Everhart, J.E., Dickson, W.C., Knowler, W.C., & Johannes, R.S. (1988). Using the ADAP learning algorithm to forecast the onset of diabetes mellitus. Proceedings of the Symposium on Computer Applications and Medical Care, 261-265. IEEE Computer Society Press.
  • Knowler, W. C., Bennett, P. H., Hamman, R. F., & Miller, M. (1978). Diabetes incidence and prevalence in Pima Indians: a 19-fold greater incidence than in Rochester, Minnesota. American Journal of Epidemiology, 108(6), 497-505.
  • UCI Machine Learning Repository - Pima Indians Diabetes Database. https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes
  • Kaggle - Pima Indians Diabetes Database. https://www.kaggle.com/datasets/uciml/pima-indians-diabetes-database

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original (Pima Indians Diabetes)

  • Limpieza y tratamiento de valores inválidos:
    • Identificación de valores '0' biológicamente imposibles en variables fisiológicas (Glucose, BloodPressure, SkinThickness, Insulin, BMI) que originalmente indicaban datos faltantes.
    • Conversión de estos valores '0' a NaN para su correcto tratamiento estadístico.
    • Imputación con mediana: Relleno de todos los valores faltantes con la mediana de cada columna, preservando la robustez frente a outliers y manteniendo la integridad distribucional de la muestra.
  • Preservación de valores válidos:
    • Mantenimiento del valor '0' en variables donde es fisiológicamente válido: Pregnancies (0 embarazos) y Outcome (0 = No Diabetes).
    • Diferenciación explícita entre variables con ceros válidos e inválidos para evitar imputaciones erróneas.
  • Estrategia de imputación específica por variable:
    • Glucose: Imputación de valores '0' con mediana (~120.0 mg/dL).
    • BloodPressure: Imputación de valores '0' con mediana (~72.0 mm Hg).
    • SkinThickness: Imputación de valores '0' con mediana (~23.0 mm).
    • Insulin: Imputación de valores '0' con mediana (~30.0 mu U/ml) — variable con mayor proporción de valores faltantes.
    • BMI: Imputación de valores '0' con mediana (~32.0 kg/m²).
  • Optimización y formato de salida:
    • Dataset completamente numérico (enteros y flotantes) sin variables categóricas.
    • Preservación de las 768 instancias originales sin eliminación de filas.
    • Guardado en formato CSV con separador punto y coma (;) para compatibilidad internacional.
  • Verificación y control de calidad:
    • Registro detallado del número de valores imputados por variable para trazabilidad.
    • Vista previa del dataset resultante para validación visual.
    • Eliminación de NaN residuales, garantizando un conjunto de datos 100% completo.

📊 Resultado: Dataset de 768 pacientes (mujeres Pima, ≥21 años) con 8 variables predictoras (continuas y enteras) y 1 variable objetivo binaria (Outcome). Desbalance moderado (~65% No Diabetes / ~35% Diabetes) — escenario ideal para validación de técnicas de generación de datos sintéticos que deben capturar correlaciones biológicas no lineales (ej. BMI-Insulina, Edad-Glucosa).

🏥 Fuente: National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK) - Donado en 1988.

👩 Población: Mujeres con herencia India Pima (Arizona, EE. UU.), edad mínima 21 años.

🔬 Procesamiento clave: Imputación de ceros inválidos (indicadores de datos perdidos) con la mediana de cada variable, preservando la integridad distribucional del conjunto.

🎯 Variable objetivo: Outcome (1 = Diabetes diagnosticada, 0 = No Diabetes).

📋 Diccionario de Datos Detallado

Variable Descripción Clínica Tipo Rango / Categorías Unidad ¿Objetivo?
Pregnancies Número de embarazos (conteo) Numérico 0 - 14 embarazos No
Glucose Concentración de glucosa en plasma a las 2h en prueba de tolerancia oral Numérico 56 - 197 mg/dL No
BloodPressure Presión arterial diastólica en reposo Numérico 24 - 114 mm Hg No
SkinThickness Espesor del pliegue cutáneo del tríceps (grasa corporal subcutánea) Numérico 7 - 99 mm No
Insulin Insulina sérica a las 2 horas en prueba de tolerancia oral Numérico 16 - 744 μU/mL No
BMI Índice de Masa Corporal (peso/altura²) Numérico 18.2 - 67.1 kg/m² No
DiabetesPedigreeFunction Función de pedigrí de diabetes (riesgo genético familiar) Numérico 0.084 - 2.329 N/A No
Age Edad del paciente Numérico 21 - 81 años No
Outcome Diagnóstico de diabetes (variable objetivo) Binario 0: No Diabetes, 1: Diabetes N/A
9 Variables totales
8 Numéricas
0 Categóricas
1 Binarias
Objetivo: Diabetes (Outcome)
Datos ausentes: 0%

📈 Distribución de la variable objetivo en el conjunto original

📖 Leyenda de Variables Categóricas

Esta sección detalla los códigos y significados de las variables categóricas y binarias presentes en el conjunto de datos de Diabetes en Indias Pima. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados clínicos.

Outcome 🎯 Objetivo
Código Significado
0 No Diabetes (Negativo) - La paciente no desarrolló diabetes en el periodo de seguimiento. Clase mayoritaria (~65%)
1 Diabetes (Positivo) - La paciente desarrolló diabetes en el periodo de seguimiento. Clase minoritaria (~35%)
🎯

Variable Objetivo: El modelo debe predecir el desarrollo de diabetes basándose en métricas clínicas y de laboratorio.

Variables Binarias Binario

Formato común: 0 = No, 1 = Sí

Outcome 🎯 Variable Objetivo: Diagnóstico de diabetes (0: No Diabetes, 1: Diabetes)
ℹ️

Nota: Única variable binaria en el dataset.

📊
Variables binarias: 1
  • 🎯 Outcome (Objetivo) - 0: No Diabetes, 1: Diabetes
📈
Variables numéricas: 8
  • Pregnancies (embarazos)
  • Glucose, BloodPressure, SkinThickness, Insulin
  • BMI, DiabetesPedigreeFunction, Age
👩‍⚕️
Criterios de Inclusión:
  • Género: Femenino
  • Edad: ≥ 21 años
  • Población: Mujeres Indias Pima (Arizona, EE. UU.)
⚠️
Recomendaciones Clínicas:
  • Predictores clave: Glucose, BMI, Age y DiabetesPedigreeFunction
  • Correlaciones: BMI está fuertemente correlacionado con Insulin
  • Glucosa: Valores > 140 mg/dL en prueba de 2h son altamente predictivos
  • Insulin: Los valores 0 han sido imputados, representan datos faltantes
  • Dataset limpio: Sin valores ausentes después de la imputación

🔬 Metodología de Generación (Reproducibilidad Científica)

📐 Método Principal

SMOTE RSB* Adaptado

Versión: 2.0

DOI: 10.1007/s42979-026-04896-8

📏 Reglas de restricción

  • Glucose > 199 → Outcome = 1 (Diabetes diagnosticada)
  • Outcome == 0 → Glucose < 190
  • DiabetesPedigreeFunction > 2.0 → Outcome = 1
  • BloodPressure > 100 → BMI > 20
  • Age == 21 → Pregnancies ≤ 4
  • Age < 25 → Pregnancies ≤ 8
  • BMI < 20 → SkinThickness < 35
  • SkinThickness > 60 → BMI > 30
  • Glucose < 70 → Insulin < 50 (Hipoglucemia con insulina baja)
  • Insulin > 600 → Outcome = 1 (Resistencia severa)
  • BMI > 55 → Outcome = 1
  • BloodPressure < 40 → BloodPressure ≥ 40 (Corrección de valor inválido)

⚙️ Hiperparámetros SMOTE RSB* Adaptado

Valor escala0.03
Probabilidad Base0.1

🔄 Hiperparámetros CTGAN

epochs500
batch_size50
generator_lr0.0002
discriminator_lr0.0002
pac10
generator_dim(256, 256)
discriminator_dim(256, 256)
embedding_dim128
l2scale1e-05

📊 Hiperparámetros TVAE

epochs 500
batch_size 50
embedding_dim 128
compress_dims (128, 128)
decompress_dims (128, 128)
l2scale 1e-5
loss_factor 2

🔐 Reproducibilidad

Random Seed42
Python3.12.12

Librerías utilizadas:

  • pandas: 2.3.3
  • numpy: 2.4.4
  • scikit-learn: 1.7.2
  • imbalanced-learn: 0.14.0
  • ctgan: 0.11.1
  • torch: 2.9.0
  • sdv: 1.28.0
  • scipy: 1.16.3
  • matplotlib: 3.10.9
📝

Para reproducir exactamente este conjunto de datos, ejecute el script de generación con la semilla aleatoria 42. Los resultados pueden variar ligeramente según la versión de las librerías.

📊 Conjuntos de Datos Derivados

El conjunto original ha sido sometido a un proceso de balanceo de clases y generación sintética para mejorar la representación de clases minoritarias. Nota: se ha empleado un conjunto de validación para evaluar el índice de fidelidad. Se han generado tres familias de conjuntos:

  • 📊 Balanceados: Conjuntos creados mediante técnicas de sobremuestreo
  • 🔮 Sintéticos Puros: Conjuntos generados completamente con modelos generativos
  • ✨ Aumentados: Combinación del conjunto original + datos sintéticos

El mejor conjunto de cada etapa fue seleccionado mediante el índice TabDSFidelity.

📊 Conjuntos Balanceados 8 conjuntos

Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
Random Oversampling 1 600 0.862 0.767 0.766 3.882 0.086 0.603 0.047 0.982 71.352 0 600 0.569
Smote 1 600 0.855 0.767 0.766 2.273 0.220 0.613 0.047 0.986 50.612 0.006 460 0.501
Borderline SMOTE 1 600 0.851 0.776 0.773 2.361 0.222 0.535 0.047 0.987 51.787 0.006 460 0.537
ADASYN 1.075 579 0.861 0.813 0.812 7.063 0.203 0.780 0.037 0.986 50.813 0.005 460 0.513
SMOTE RSB* Adaptado 1.003 599 0.871 0.807 0.805 7.692 0.158 0.651 0.047 0.987 49.228 0.007 460 0.525 🏆
SMOTE RSB* Adaptado + Reglas 1.003 599 0.853 0.776 0.773 3.167 0.156 0.575 0.047 0.988 48.684 0.008 460 0.539
OOF PSO para Balanceo 1 600 0.864 0.781 0.786 3.084 0.249 0.001 0.047 0.779 51.533 0.063 460 0.516
OOF PSO para Balanceo + Reglas 1.013 600 0.873 0.795 0.799 4.890 0.249 0.101 0.049 0.636 51.943 0.066 458 0.520
Mejor seleccionado: SMOTE RSB* Adaptado (TabDSFidelity: 7.692, AUC: 0.871, F1: 0.807, MIA: 0.525). Nota: Ratio <= 1.5 = Conjunto Balanceado.

🔮 Conjuntos Sintéticos Puros 10 conjuntos

Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
SMOTE RSB* + Ruido Gaussiano 1.010 7229 0.850 0.775 0.779 6.749 0.355 0.124 0.049 0.980 66.588 0.127 0 0.493
SMOTE RSB* + Ruido Gaussiano + Reglas 1.020 7229 0.868 0.777 0.779 7.867 0.355 0.124 0.050 0.980 178.172 0.127 0 0.484 🏆
CTGAN 1.003 10000 0.875 0.778 0.773 7.036 0.314 0.020 0.047 0.912 209.594 0.065 0 0.468
CTGAN + Reglas del Dominio 1.012 10000 0.872 0.746 0.740 4.199 0.314 0.020 0.049 0.912 330.179 0.065 0 0.462
TVAE 1.171 10000 0.862 0.740 0.734 3.224 0.416 0.032 0.074 0.941 145.446 0.043 0 0.541
TVAE + Reglas del Dominio 1.173 10000 0.863 0.746 0.740 3.794 0.416 0.032 0.075 0.941 273.006 0.043 0 0.557
OOF PSO para Aumento 1 10000 0.840 0.759 0.753 1.589 0.726 0.000 0.047 0.513 175.671 0.259 0 0.506
OOF PSO para Aumento + Reglas 11.595 10000 0.847 0.746 0.740 1.082 0.726 0.000 1.035 0.596 298.073 0.260 0 0.499
SMOTE RSB* Refinado 1 7000 0.851 0.771 0.773 6.285 0.369 0.112 0.047 0.973 62.845 0.021 0 0.553
SMOTE RSB* Refinado + Reglas 1.014 7000 0.848 0.785 0.786 7.264 0.369 0.112 0.049 0.971 168.605 0.021 0 0.551
Mejor seleccionado: SMOTE RSB* + Ruido Gaussiano + Reglas del Dominio (TabDSFidelity: 7.867, AUC: 0.868, F1: 0.777, MIA: 0.484). Nota: Ratio <= 1.5 = Conjunto Balanceado.

✨ Conjuntos Aumentados 10 conjuntos

Algoritmo Ratio N° Ejemplos AUC-ROC F1 Accuracy TabDSFidelity Jensen-Shannon Kolmogorov-Smirnov Kullback-Leibler Correlación Tiempo Total (s) Dist. Promedio Copias Exactas Ataque MIA Mejor
SMOTE RSB* + Ruido Gaussiano 1.009 7828 0.860 0.771 0.773 5.037 0.334 0.133 0.048 0.980 123.359 0.127 0 0.500
SMOTE RSB* + Ruido Gaussiano + Reglas 1.018 7828 0.859 0.776 0.779 5.898 0.334 0.133 0.050 0.981 235.126 0.127 0 0.501
CTGAN 1.003 10599 0.881 0.791 0.786 7.868 0.301 0.032 0.047 0.916 270.842 0.062 92 0.512 🏆
CTGAN + Reglas del Dominio 1.012 10599 0.876 0.784 0.779 6.573 0.301 0.032 0.049 0.915 390.761 0.062 92 0.483
TVAE 1.160 10599 0.871 0.765 0.760 3.390 0.394 0.038 0.072 0.945 210.811 0.040 92 0.524
TVAE + Reglas del Dominio 1.162 10599 0.870 0.765 0.760 3.351 0.394 0.038 0.073 0.945 337.772 0.040 92 0.520
OOF PSO para Aumento 1.000 10599 0.859 0.777 0.773 2.475 0.678 0.000 0.047 0.523 237.516 0.242 92 0.540
OOF PSO para Aumento + Reglas 8.688 10599 0.864 0.789 0.786 4.976 0.678 0.000 0.873 0.600 360.686 0.243 92 0.517
SMOTE RSB* Refinado 1.000 7599 0.853 0.772 0.773 4.601 0.344 0.119 0.047 0.975 117.072 0.019 138 0.551
SMOTE RSB* Refinado + Reglas 1.013 7599 0.850 0.778 0.779 5.351 0.344 0.119 0.049 0.973 225.698 0.019 138 0.550
Mejor seleccionado: CTGAN (TabDSFidelity: 7.868, AUC: 0.881, F1: 0.791, MIA: 0.512). Nota: Ratio <= 1.5 = Conjunto Balanceado.

📈 Diagrama del Proceso de Generación

Conjunto Original
CD_17
Balanceo
(8 métodos)
↓ Selección por TabDSFidelity
⭐ Mejor Balanceado
SMOTE RSB* Adaptado
Generación Sintética
(10 métodos)
↓ Evaluación TabDSFidelity
⭐ Mejor Sintético
SMOTE RSB* + Ruido Gaussiano + Reglas del Dominio
⭐ Mejor Aumentado
CTGAN
Conjunto Sintético Final
Seleccionado por calidad

📊 Guía de Métricas de Evaluación

Para interpretar correctamente los resultados de los conjuntos de datos generados, es fundamental comprender qué mide cada métrica y cómo se relacionan entre sí. A continuación, se detalla cada una de las métricas utilizadas en la evaluación:

🎯 Métricas de Rendimiento Predictivo

AUC-ROC (0.5 - 1.0)

¿Qué mide? Capacidad del modelo para distinguir entre clases (Ej: mortalidad vs supervivencia).

Interpretación:

  • 0.5: Sin capacidad predictiva (aleatorio)
  • 0.7-0.8: Aceptable
  • 0.8-0.9: Excelente
  • >0.9: Sobresaliente

Ejemplo: AUC-ROC = 0.82 significa que hay un 82% de probabilidad de que el modelo clasifique correctamente un paciente fallecido frente a uno superviviente.

F1-Score (0 - 1.0)

¿Qué mide? Media armónica entre precisión y sensibilidad (recall).

Interpretación:

  • 0.7-0.8: Buen equilibrio entre precisión y sensibilidad
  • 0.8-0.9: Muy buen equilibrio
  • >0.9: Excelente equilibrio

Ejemplo: F1 = 0.76 indica que el modelo mantiene un buen balance entre identificar correctamente a los pacientes que fallecen (sensibilidad) y no etiquetar erróneamente a los que sobreviven (precisión).

Accuracy (0 - 1.0)

¿Qué mide? Proporción de predicciones correctas sobre el total.

Interpretación:

  • 0.7-0.8: Buen rendimiento general
  • 0.8-0.9: Muy buen rendimiento
  • >0.9: Excelente rendimiento

Ejemplo: Accuracy = 0.75 significa que el 75% de las predicciones del modelo son correctas.

⚠️ Nota: En conjuntos desbalanceados, esta métrica puede ser engañosa. Es mejor usar F1-Score o AUC-ROC.

🔬 Índice de Fidelidad del Conjunto

TabDSFidelity (0 - 10+)

¿Qué mide? Calidad global del conjunto sintético comparado con el original.

Interpretación:

  • < 3.0: Baja fidelidad (poca similitud con el original)
  • 3.0 - 6.0: Fidelidad moderada
  • 6.0 - 8.0: Alta fidelidad
  • > 8.0: Muy alta fidelidad (excelente representación)

Ejemplo: TabDSFidelity = 8.08 indica que el conjunto sintético mantiene una alta similitud con el original, preservando las relaciones y distribuciones de los datos reales, además de maximizar su eficacia predictiva.

💡 Importante: Este es el índice para seleccionar el mejor conjunto de datos sintéticos. Para este caso, el peso empleado para las métricas "AUC-ROC", "F1-Score" y "Accuracy" fue (2) y para el resto de las métricas fue (1).

📊 Métricas de Similitud de Distribuciones

Jensen-Shannon (Promedio) (0 - 1.0)

¿Qué mide? Similitud entre las distribuciones de variables numéricas del conjunto sintético y el original.

Interpretación:

  • Cerca de 0: Distribuciones muy similares (ideal)
  • 0.1 - 0.3: Diferencias moderadas
  • > 0.3: Diferencias significativas

Ejemplo: JS = 0.118 indica que las distribuciones de las variables numéricas (edad, presión arterial, etc.) son bastante similares a las del conjunto original.

📌 Nota: Es el promedio de la divergencia de Jensen-Shannon calculada para todas las variables numéricas.

Kolmogorov-Smirnov (p-valor promedio) (0 - 1.0)

¿Qué mide? Probabilidad estadística de que las muestras numéricas del conjunto sintético provengan de la misma distribución continua que el original.

Interpretación:

  • Cerca de 1.0: Altísima probabilidad de que sean la misma distribución (ideal)
  • > 0.05: Similitud aceptable (no se rechaza que sean iguales)
  • < 0.05: Diferencias estadísticamente significativas

Ejemplo: KS p-valor = 0.753 indica que hay evidencia fuerte a favor de que las distribuciones acumulativas de la variable sintética y la original son equivalentes.

📌 Nota: Se reporta el promedio de los p-valores obtenidos mediante la prueba de Kolmogorov-Smirnov de dos muestras para las variables numéricas.

Kullback-Leibler (Promedio) (0 - ∞)

¿Qué mide? Divergencia entre las distribuciones de variables categóricas del conjunto sintético y el original.

Interpretación:

  • Cerca de 0: Distribuciones muy similares (ideal)
  • 0.01 - 0.1: Diferencias pequeñas
  • > 0.1: Diferencias notables

Ejemplo: KL = 0.014 indica que la distribución de las variables categóricas (género, mortalidad) es muy similar a la del conjunto original.

📌 Nota: Es el promedio de la divergencia de Kullback-Leibler para todas las variables categóricas. A diferencia de JS y KS, esta métrica se aplica solo a variables categóricas.

📊 Métricas de Estructura

Similitud de Correlación (0 - 1.0)

¿Qué mide? Preservación de las relaciones entre variables del conjunto original.

Interpretación:

  • Cerca de 1.0: Las relaciones entre variables se mantienen casi idénticas
  • > 0.9: Excelente preservación de relaciones
  • 0.7 - 0.9: Buena preservación
  • < 0.7: Pérdida significativa de relaciones

Ejemplo: Correlación = 0.976 significa que las relaciones entre variables (ej. edad y mortalidad) se mantienen en un 97.6% respecto al conjunto original.

⏱️ Métricas de Rendimiento Temporal

Tiempo Total (s) (segundos)

¿Qué mide? Tiempo total de ejecución del proceso de generación del conjunto.

Interpretación:

  • < 100s: Generación rápida
  • 100-300s: Tiempo moderado
  • > 300s: Proceso lento (puede ser aceptable para conjuntos grandes)

Ejemplo: Tiempo total = 69.45s significa que el proceso completo de generación del conjunto balanceado tomó aproximadamente 1.16 minutos.

⏱️ Nota: Incluye el tiempo de generación sintética + cálculo de métricas.

🔒 Métricas de Privacidad

Estas métricas evalúan el riesgo de exposición de información sensible y la capacidad de un atacante para inferir datos de los pacientes a partir del conjunto de datos sintéticos.

Distancia al Registro Más Cercano (≥ 0)

¿Qué mide? La distancia promedio entre cada registro sintético y su registro más cercano en el conjunto de datos original.

Interpretación:

  • Cerca de 0: Los datos sintéticos son muy similares a los originales → ⚠️ ALTO RIESGO de privacidad
  • 0.01 - 0.05: Similaridad moderada → Riesgo moderado
  • > 0.05: Buena separación de los datos originales → ✅ BAJO RIESGO de privacidad

Ejemplo: Distancia promedio = 0.015 en SMOTE indica que los registros sintéticos están relativamente cerca de los originales, lo que podría implicar un riesgo de privacidad moderado.

🔬

Metodología: Calculada utilizando la Distancia de Gower, la cual maneja internamente tipos de datos mixtos, normalizando las variables numéricas y penalizando diferencias categóricas para devolver un índice estandarizado entre 0 y 1.

💡

Recomendación: Valores < 0.01 deben ser evaluados con precaución. Idealmente, buscar valores > 0.02 para garantizar la privacidad.

Copias Exactas (≥ 0)

¿Qué mide? Número de registros sintéticos que son copias idénticas de registros en el conjunto de datos original.

Interpretación:

  • 0: Ninguna copia exacta → ✅ SEGURO
  • 1 - 10: Pocas copias → Riesgo bajo
  • 11 - 50: Copias moderadas → ⚠️ RIESGO MODERADO
  • > 50: Muchas copias → 🔴 ALTO RIESGO de reidentificación

Ejemplo: SMOTE RSB* Refinado genera 76 copias exactas de 8817 registros (0.86%), lo que representa un riesgo de privacidad que debe ser evaluado.

⚠️

Importante: La presencia de copias exactas es uno de los indicadores más críticos de fuga de datos. Idealmente, este valor debe ser 0.

Ataque de Inferencia de Membresía (MIA) (0 - 1.0)

¿Qué mide? Tasa de éxito (medida en AUC-ROC) de un atacante para determinar si un registro específico pertenece al conjunto de datos original.

Interpretación:

  • 0.5: Aleatorio (ideal) → ✅ PRIVACIDAD ÓPTIMA
  • 0.5 - 0.55: Riesgo bajo
  • 0.55 - 0.6: Riesgo moderado → ⚠️ PRIVACIDAD CUESTIONABLE
  • > 0.6: Riesgo alto → 🔴 PRIVACIDAD COMPROMETIDA

Ejemplo: MIA = 0.553 significa que el atacante tiene un éxito ligeramente superior al 50% aleatorio, lo que indica un riesgo de privacidad bajo/moderado.

🎯

Objetivo: Buscar valores lo más cercanos a 0.5. Valores > 0.6 indican que el conjunto sintético no protege adecuadamente la privacidad.

📝 Resumen Rápido para Selección

🏆
Para seleccionar el mejor conjunto:
  • Priorizar TabDSFidelity más alto
  • Buscar AUC-ROC y F1 altos
  • Valores de divergencia JS y KL cercanos a 0
  • P-valor de KS lo más cercano a 1.0 posible (>0.05)
  • Correlación > 0.9
⚖️
Balance entre calidad y tiempo:
  • Un TabDSFidelity > 8.0 indica excelente calidad
  • Tiempos de generación < 200s son aceptables
  • La Correlación > 0.95 asegura buena preservación de relaciones
🔒
Para garantizar la privacidad:
  • MIA lo más cercano a 0.5 (ideal)
  • Copias exactas = 0 (ideal) o lo más bajo posible
  • Distancia promedio > 0.02 para buena separación
  • Evaluar balance entre calidad (TabDSFidelity) y privacidad (MIA)

📥 Descargar conjuntos y código Python

Formatos incluidos: CSV.

📚 Cómo citar este conjunto

Díaz Bastida, M., Pérez Vázquez, R. A., & Bello Pérez, R. (2026). High-Fidelity Synthetic Dataset for Diabetes Prediction (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32932646.v1