CD_54 Original + Derivados

CD_54: Twonorm (KEEL/Breiman)

Conjunto de datos sintético de referencia generado a partir de dos distribuciones normales multivariantes de 20 dimensiones. Caracterizado por su pureza estadística. Actúa como un escenario ideal de control. Permite validar si los generadores son capaces de replicar correctamente estadísticas sencillas cuando no hay 'ruido' ni datos erróneos que dificulten la tarea.

📈 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.98 0.97 0.97 100
Clase 1 0.97 0.98 0.98 100
Accuracy 0.97
Macro Avg 0.98 0.97 0.97 200
Weighted Avg 0.98 0.97 0.97 200
AUC-ROC: 1.00
F1-Score (weighted): 0.97
Accuracy: 0.97
➡️ Mejora
⬆ +0.001 AUC ⬆ +0.02 F1 ⬆ +0.02 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 1.00 0.98 0.99 100
Clase 1 0.98 ⬆ +0.01 1.00 ⬆ +0.02 0.99 ⬆ +0.01 100
Accuracy 0.99 ⬆ +0.02
Macro Avg 0.99 ⬆ +0.01 0.99 ⬆ +0.02 0.99 ⬆ +0.02 200
Weighted Avg 0.99 ⬆ +0.01 0.99 ⬆ +0.02 0.99 ⬆ +0.02 200
AUC-ROC: 1.00 ⬆ +0.001
F1-Score (weighted): 0.99 ⬆ +0.02
Accuracy: 0.99 ⬆ +0.02

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.97
Sintético: 0.98
⬆ +0.01
📈
Recall
Original: 0.98
Sintético: 1.00
⬆ +0.02
⚖️
F1-Score
Original: 0.98
Sintético: 0.99
⬆ +0.01

📚 Fuente Original del Conjunto

Twonorm Dataset

v1.0
Datos sintéticos de laboratorio
Disponible en repositorios públicos (KEEL / DELVE)

📄 Resumen (Abstract)

El conjunto de datos Twonorm es un problema de clasificación de 20 dimensiones y 2 clases. Cada clase se extrae de una distribución normal multivariante. La Clase 1 tiene media (a, a, ..., a) mientras que la Clase 2 tiene media (-a, -a, ..., -a), donde a = 2/√20. Este dataset es un benchmark sintético ampliamente utilizado para evaluar y comparar algoritmos de clasificación, especialmente en entornos de aprendizaje automático y minería de datos.

📊 Contexto y Generación de Datos

El conjunto de datos Twonorm fue generado en un entorno de laboratorio y se ha utilizado ampliamente en la investigación de aprendizaje automático. Las características clave son:

  • Dimensión: 20 características numéricas reales
  • Distribución: Normal multivariante con media diferenciada por clase
  • Separabilidad: El parámetro a = 2/√20 ≈ 0.447 controla la separación entre clases
  • Aplicación: Benchmark para algoritmos de clasificación y validación de modelos
📐 Estructura Matemática
  • Clase 1: Media = (a, a, ..., a) con 20 dimensiones
  • Clase 2: Media = (-a, -a, ..., -a) con 20 dimensiones
  • a = 2/√20 ≈ 0.4472135955
  • Varianza: Identidad (covarianza unitaria)

Este diseño crea un problema donde las clases son linealmente separables en el espacio de 20 dimensiones, con el hiperplano óptimo ubicado en el origen.

📊 Descripción de Datos

El dataset contiene 7,400 instancias con 20 atributos (19 variables predictoras y 1 variable objetivo). Todas las características son de tipo real (continuo) y no presentan valores faltantes.

📋 Variables del Dataset
Variable Tipo Descripción Rango
A. Variables Predictoras (A1 - A20)
A1 Real Característica 1 [-4.2497, 3.5782]
A2 Real Característica 2 [-3.9606, 4.3451]
A3 Real Característica 3 [-4.4798, 4.4039]
A4 Real Característica 4 [-3.8891, 4.2589]
A5 Real Característica 5 [-3.9099, 5.6395]
A6 Real Característica 6 [-4.0095, 3.9901]
A7 Real Característica 7 [-3.7334, 4.4522]
A8 Real Característica 8 [-4.5744, 3.8648]
A9 Real Característica 9 [-3.8136, 4.254]
A10 Real Característica 10 [-4.1999, 4.0829]
A11 Real Característica 11 [-3.9204, 4.0953]
A12 Real Característica 12 [-3.8262, 4.3025]
A13 Real Característica 13 [-3.9451, 3.7817]
A14 Real Característica 14 [-3.8516, 4.1238]
A15 Real Característica 15 [-3.6978, 3.5485]
A16 Real Característica 16 [-3.6976, 4.2439]
A17 Real Característica 17 [-3.9428, 3.7233]
A18 Real Característica 18 [-4.0653, 4.0557]
A19 Real Característica 19 [-4.1218, 4.3238]
A20 Real Característica 20 [-3.7831, 4.279]
B. Variable Objetivo
Class Binaria (Target) Etiqueta de clase {0, 1}

📋 Características del Dataset

  • Tipo de problema: Clasificación binaria (2 clases: 0 y 1)
  • Dimensión: Multivariante (7,400 × 20)
  • Tipo de características: Reales (continuas)
  • Valores faltantes: No
  • Área de aplicación: Benchmark de algoritmos de clasificación
  • Origen: DELVE Repository, Universidad de Toronto
  • Distribución: Normal multivariante con medias diferenciadas

📋 Notas de Uso

Este conjunto de datos es un benchmark clásico para evaluar algoritmos de clasificación. Se recomienda:

  • La variable objetivo Class está codificada como 0 y 1
  • Todas las características son numéricas reales y no requieren codificación adicional
  • El dataset es sintético y fue diseñado para probar la capacidad de los algoritmos para manejar problemas de alta dimensionalidad
  • Las clases son linealmente separables en el espacio de 20 dimensiones
  • El hiperplano óptimo se encuentra en el origen (0, 0, ..., 0)
  • Estandarizar/normalizar las características es recomendable para la mayoría de los algoritmos
  • El dataset está disponible en el repositorio KEEL en formatos:
    • Conjunto completo en formato KEEL
    • Particiones 10-folds y 5-folds para validación cruzada
  • Es adecuado para modelos de clasificación como SVM, Regresión Logística, Random Forest, XGBoost y Redes Neuronales
  • El dataset fue originalmente obtenido del repositorio DELVE de la Universidad de Toronto

💡 Importancia en la Investigación de Aprendizaje Automático

El conjunto de datos Twonorm es un benchmark clásico en la investigación de aprendizaje automático y minería de datos. Su importancia radica en:

  • Proporciona un problema bien definido con propiedades matemáticas conocidas (distribución normal multivariante)
  • Permite evaluar y comparar algoritmos de clasificación en un entorno controlado
  • Es ampliamente utilizado en la literatura para demostrar nuevos métodos
  • La separabilidad lineal de las clases permite probar la capacidad de los modelos para encontrar hiperplanos óptimos
  • El dataset es reproducible y tiene particiones predefinidas para validación cruzada

Este dataset ha sido utilizado en numerosas investigaciones sobre clasificación y ha contribuido al desarrollo de técnicas de aprendizaje automático en el repositorio KEEL (Knowledge Extraction based on Evolutionary Learning).

📖 Cómo citar la fuente original

Twonorm Dataset. KEEL Repository. https://sci2s.ugr.es/keel/dataset.php?cod=1067

📚 Referencias Adicionales

  • KEEL Repository - Twonorm Dataset. https://sci2s.ugr.es/keel/dataset.php?cod=1067
  • DELVE Repository - Twonorm. http://www.cs.utoronto.ca/~delve/data/twonorm/desc.html
  • Alcalá-Fdez, J., et al. (2011). KEEL Data-Mining Software Tool: Data Set Repository, Integration of Algorithms and Experimental Analysis Framework. Journal of Multiple-Valued Logic and Soft Computing, 17(2-3), 255-287.
  • Alcalá-Fdez, J., et al. (2009). KEEL: A software tool to assess evolutionary algorithms for data mining problems. Soft Computing, 13(3), 307-318.

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original (Twonorm Dataset)

  • Carga y estructuración de datos:
    • Carga del archivo twonorm.dat con separador por comas, ignorando líneas de cabecera KEEL (comentarios con '@').
    • Asignación de nombres de columnas: 20 variables predictoras (A1 a A20) y 1 variable objetivo (Class).
    • Manejo de espacios después de comas con skipinitialspace=True para garantizar una carga correcta.
  • Conversión y estandarización de tipos de datos: < class="transformacion-lista">
  • Conversión forzada de 20 variables predictoras a tipo float utilizando pd.to_numeric.
  • Conversión de la variable objetivo Class a tipo entero (int).
  • Garantía de integridad numérica del conjunto de datos para modelado directo.
  • Transformación de la variable objetivo:
    • Preservación de Class en su formato binario original: 0 = Clase 0 (Media Negativa), 1 = Clase 1 (Media Positiva).
    • Documentación del objetivo: clasificación binaria de dos distribuciones normales multivariantes.
  • Preservación de la estructura de datos sintéticos:
    • Mantenimiento de las 20 variables predictoras (A1 a A20) como variables continuas generadas artificialmente.
    • Documentación de la naturaleza sintética del dataset: generado a partir de dos distribuciones normales multivariantes.
    • No se requiere codificación de categóricas ni imputación de valores faltantes.
  • Submuestreo estratificado para reducción del dataset:
    • Reducción del dataset a 1,000 ejemplos representativos mediante muestreo estratificado.
    • Uso de train_test_split con parámetro stratify para preservar exactamente la proporción original de clases (balance perfecto teórico).
    • Semilla fija (random_state=42) para garantizar reproducibilidad científica de la muestra.
    • Verificación de integridad con diferencia máxima < 1% en proporción de clases.
  • Generación de documentación completa:
    • Creación del archivo leyenda_twonorm.txt con semántica completa de la variable objetivo y la estructura del dataset.
    • Documentación de la variable Class (0 = Clase 0 - Media Negativa, 1 = Clase 1 - Media Positiva).
    • Descripción de las 20 variables predictoras (A1 a A20) como variables continuas generadas artificialmente.
    • Contextualización del dataset: clasificación de dos distribuciones normales multivariantes (Twonorm).
    • Estadísticas finales: total de instancias y distribución de clases perfectamente balanceada.
  • Preservación de la estructura y calidad de datos:
    • Mantenimiento de las 7,400 instancias (muestras sintéticas) originales para el dataset completo.
    • Dataset reducido de 1,000 ejemplos estratificados para experimentación eficiente.
    • Dataset final con 20 variables predictoras (todas numéricas continuas) y 1 variable objetivo binaria.
    • Guardado en formato CSV con separador punto y coma (;) para compatibilidad internacional.
  • 📊 Resultado: Dataset de 7,400 muestras sintéticas (con versión reducida estratificada de 1,000 ejemplos) con 20 variables predictoras (todas numéricas continuas generadas artificialmente) y 1 variable objetivo binaria (Class). Balance perfecto preservado (~50% Clase 0 / ~50% Clase 1) — escenario ideal para validación de técnicas de generación de datos sintéticos y evaluación del índice TabDSFidelity en contextos de clasificación de datos sintéticos y problemas de benchmark, donde el balance de clases y la naturaleza gaussiana de los datos permiten una evaluación controlada y reproducible.

    🧪 Fuente: Twonorm Dataset (KEEL Repository) - Dataset sintético generado a partir de dos distribuciones normales multivariantes.

    📊 Variables predictoras: 20 variables continuas (A1 a A20) generadas artificialmente siguiendo distribuciones normales con medias diferenciadas por clase.

    🎯 Variable objetivo: Class (0 = Clase 0 - Media Negativa, 1 = Clase 1 - Media Positiva) — perfectamente balanceada (1:1).

    📁 Leyenda disponible: Archivo leyenda_twonorm.txt con descripción completa de la variable objetivo y la estructura de variables predictoras.

    🧹 Limpieza aplicada: Carga ignorando comentarios KEEL, manejo de espacios en el archivo, conversión de variables a tipos numéricos, reducción estratificada a 1,000 ejemplos.

    ⚖️ Característica destacada: Dataset sintético con balance perfecto de clases, ideal para benchmarking de algoritmos de clasificación y generación de datos sintéticos.

    📋 Diccionario de Datos Detallado

    Variable Descripción Tipo Rango / Categorías Unidad ¿Objetivo?
    A1 Característica 1 (distribución normal multivariante) Numérico -4.2497 - 3.3579 N/A No
    A2 Característica 2 (distribución normal multivariante) Numérico -3.3120 - 3.6798 N/A No
    A3 Característica 3 (distribución normal multivariante) Numérico -3.5864 - 2.7992 N/A No
    A4 Característica 4 (distribución normal multivariante) Numérico -3.4426 - 3.0480 N/A No
    A5 Característica 5 (distribución normal multivariante) Numérico -3.4306 - 5.6395 N/A No
    A6 Característica 6 (distribución normal multivariante) Numérico -3.5500 - 3.9901 N/A No
    A7 Característica 7 (distribución normal multivariante) Numérico -3.3751 - 3.1995 N/A No
    A8 Característica 8 (distribución normal multivariante) Numérico -3.0545 - 3.8648 N/A No
    A9 Característica 9 (distribución normal multivariante) Numérico -3.3072 - 3.0021 N/A No
    A10 Característica 10 (distribución normal multivariante) Numérico -3.3660 - 4.0829 N/A No
    A11 Característica 11 (distribución normal multivariante) Numérico -3.2341 - 3.4012 N/A No
    A12 Característica 12 (distribución normal multivariante) Numérico -3.4704 - 3.9785 N/A No
    A13 Característica 13 (distribución normal multivariante) Numérico -3.2018 - 3.5692 N/A No
    A14 Característica 14 (distribución normal multivariante) Numérico -3.7276 - 4.1238 N/A No
    A15 Característica 15 (distribución normal multivariante) Numérico -3.5709 - 2.8740 N/A No
    A16 Característica 16 (distribución normal multivariante) Numérico -2.9463 - 2.9311 N/A No
    A17 Característica 17 (distribución normal multivariante) Numérico -3.9428 - 3.5159 N/A No
    A18 Característica 18 (distribución normal multivariante) Numérico -2.9806 - 2.7969 N/A No
    A19 Característica 19 (distribución normal multivariante) Numérico -3.1762 - 3.2984 N/A No
    A20 Característica 20 (distribución normal multivariante) Numérico -3.1485 - 3.2907 N/A No
    Class Clase de la distribución normal multivariante (objetivo) Binario 0: Clase 0 (Media -a), 1: Clase 1 (Media +a) N/A
    21 Variables totales
    20 Numéricas
    0 Categóricas
    1 Binarias
    Objetivo: Clase (Class)
    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 Twonorm. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados de clasificación de distribuciones normales multivariantes.

    Class 🎯 Objetivo
    Código Significado
    0 Clase 0 - Punto generado desde distribución normal con media -a (50.04%)
    1 Clase 1 - Punto generado desde distribución normal con media +a (49.96%)
    🎯

    Variable Objetivo: Clasifica puntos generados artificialmente de dos distribuciones normales multivariantes con medias opuestas.

    Variables Binarias Binario

    Formato: 0 = Clase 0, 1 = Clase 1

    Class 🎯 Variable Objetivo: Clase del punto (0: Clase 0, 1: Clase 1)
    ℹ️

    Nota: Única variable binaria en el dataset.

    📊
    Variables numéricas: 20
    • A1 - A20 (20 variables Gaussianas independientes)
    • Rango típico: [-4.5, 5.6]
    • Distribución: Normal (media 0, varianza 1)
    🎯
    Variables binarias: 1
    • 🎯 Class (Objetivo - Clase 0/1)
    ⚠️
    Recomendaciones de Análisis:
    • Dataset sintético: No tiene interpretación semántica directa
    • Clasificadores recomendados: SVM lineal, LDA, Regresión Logística
    • Separabilidad: Las clases son linealmente separables en el espacio 20-dimensional
    • Balance perfecto: No requiere técnicas de balanceo
    • Normalización: No es necesario escalar (distribución normal estándar)
    • Benchmark: Dataset estándar para validar modelos de clasificación Gaussianos

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

    📐 Método Principal

    SMOTE RSB* Refinado

    Versión: 2.1.0

    DOI: 10.xxxx/zenodo.xxxxxxx

    Código fuente: https://github.com/tu-usuario/dataset-sintetico-uci

    📏 Reglas de restricción

    • Class == 1 → A1 > 0
    • Class == 0 → A1 < 0
    • Class == 1 → A8 > 0
    • Class == 0 → A8 < 0
    • Class == 1 → A15 > 0
    • Class == 0 → A15 < 0
    • A3 > 2.5 → Class = 1
    • A3 < -2.5 → Class = 0
    • A5 > 1.5 → A6 > 0
    • A5 < -1.5 → A6 < 0
    • A12 > 1.5 → A13 > 0
    • A12 < -1.5 → A13 < 0
    • Class == 1 → (A1 ≠ 0) OR (A2 ≠ 0) OR (A3 ≠ 0) OR (A4 ≠ 0) OR (A5 ≠ 0)
    • Class == 0 → (A1 ≠ 0) OR (A2 ≠ 0) OR (A3 ≠ 0) OR (A4 ≠ 0) OR (A5 ≠ 0)
    • Class == 1 → (A6 ≠ 0) OR (A7 ≠ 0) OR (A8 ≠ 0) OR (A9 ≠ 0) OR (A10 ≠ 0)
    • Class == 0 → (A6 ≠ 0) OR (A7 ≠ 0) OR (A8 ≠ 0) OR (A9 ≠ 0) OR (A10 ≠ 0)
    • Class == 1 → (A11 ≠ 0) OR (A12 ≠ 0) OR (A13 ≠ 0) OR (A14 ≠ 0) OR (A15 ≠ 0)
    • Class == 0 → (A11 ≠ 0) OR (A12 ≠ 0) OR (A13 ≠ 0) OR (A14 ≠ 0) OR (A15 ≠ 0)
    • Class == 1 → (A16 ≠ 0) OR (A17 ≠ 0) OR (A18 ≠ 0) OR (A19 ≠ 0) OR (A20 ≠ 0)
    • Class == 0 → (A16 ≠ 0) OR (A17 ≠ 0) OR (A18 ≠ 0) OR (A19 ≠ 0) OR (A20 ≠ 0)

    ⚙️ 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 - - - - - - - - - - - - - -
    Smote - - - - - - - - - - - - - -
    Borderline SMOTE - - - - - - - - - - - - - -
    ADASYN - - - - - - - - - - - - - -
    SMOTE RSB* Adaptado - - - - - - - - - - - - - -
    SMOTE RSB* Adaptado + Reglas - - - - - - - - - - - - - -
    OOF PSO para Balanceo - - - - - - - - - - - - - -
    OOF PSO para Balanceo + Reglas - - - - - - - - - - - - - -
    Mejor seleccionado: Sin datos disponibles (TabDSFidelity: -, AUC: -, F1: -, MIA: -). 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.005 7234 0.933 0.745 0.745 6.924 0.802 0.619 0.000 0.979 113.858 0.070 0 0.486
    SMOTE RSB* + Ruido Gaussiano + Reglas 1.018 7234 0.913 0.724 0.725 6.680 0.802 0.619 0.000 0.979 309.702 0.070 0 0.493
    CTGAN 1.002 10000 0.957 0.885 0.885 5.921 0.826 0.007 0.000 0.870 652.365 0.111 0 0.504
    CTGAN + Reglas del Dominio 1.008 10000 0.959 0.895 0.895 5.999 0.826 0.007 0.000 0.869 897.707 0.111 0 0.487
    TVAE 1.049 10000 0.998 0.970 0.970 7.890 0.808 0.244 0.000 0.934 358.887 0.086 0 0.487
    TVAE + Reglas del Dominio 1.057 10000 0.997 0.975 0.975 7.919 0.808 0.244 0.000 0.934 591.189 0.086 0 0.496 🏆
    OOF PSO para Aumento 1 10000 0.625 0.333 0.500 0.278 0.829 0.000 0.000 0.645 172.267 0.296 0 0.461
    OOF PSO para Aumento + Reglas 1.884 10000 0.706 0.324 0.480 0.527 0.829 0.000 0.049 0.616 401.067 0.318 0 0.498
    SMOTE RSB* Refinado 1 7000 1.000 0.995 0.995 7.884 0.832 0.555 0.000 0.975 85.623 0.026 0 0.500
    SMOTE RSB* Refinado + Reglas 1.013 7000 0.994 0.970 0.970 7.680 0.832 0.555 0.000 0.976 253.569 0.026 0 0.519
    Mejor seleccionado: TVAE + Reglas del Dominio (TabDSFidelity: 7.919, AUC: 0.997, F1: 0.975, MIA: 0.496). 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.004 8234 0.995 0.960 0.960 3.000 0.688 0.747 0.000 0.982 218.373 0.068 0 0.488
    SMOTE RSB* + Ruido Gaussiano + Reglas 1.016 8234 0.996 0.960 0.960 3.246 0.688 0.747 0.000 0.982 416.339 0.068 0 0.512
    CTGAN 1.002 11000 1.000 1.000 1.000 6.771 0.727 0.012 0.000 0.878 780.731 0.101 186 0.513
    CTGAN + Reglas del Dominio 1.007 11000 1.000 1.000 1.000 6.770 0.727 0.012 0.000 0.878 1025.240 0.101 186 0.522
    TVAE 1.044 11000 1.000 1.000 1.000 7.608 0.716 0.300 0.000 0.940 480.138 0.077 186 0.501
    TVAE + Reglas del Dominio 1.052 11000 1.000 1.000 1.000 7.609 0.716 0.300 0.000 0.940 713.988 0.077 186 0.498
    OOF PSO para Aumento 1 11000 1.000 1.000 1.000 6.073 0.729 0.000 0.000 0.648 294.186 0.269 186 0.535
    OOF PSO para Aumento + Reglas 1.773 11000 1.000 1.000 1.000 6.000 0.729 0.000 0.040 0.621 519.429 0.289 186 0.548
    SMOTE RSB* Refinado 1 8000 1.000 1.000 1.000 8.517 0.704 0.694 0.000 0.979 170.049 0.022 254 0.484
    SMOTE RSB* Refinado + Reglas 1.012 8000 1.000 1.000 1.000 8.519 0.704 0.694 0.000 0.979 348.188 0.022 254 0.513 🏆
    Mejor seleccionado: SMOTE RSB* Refinado + Reglas del Dominio (TabDSFidelity: 8.519, AUC: 1.000, F1: 1.000, MIA: 0.513). Nota: Ratio <= 1.5 = Conjunto Balanceado.

    📈 Diagrama del Proceso de Generación

    Conjunto Original
    CD_54
    Balanceo
    (8 métodos)
    ↓ Selección por TabDSFidelity
    ⭐ Mejor Balanceado
    ----
    Generación Sintética
    (10 métodos)
    ↓ Evaluación TabDSFidelity
    ⭐ Mejor Sintético
    TVAE + Reglas del Dominio
    ⭐ Mejor Aumentado
    SMOTE RSB* Refinado + Reglas del Dominio
    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 Benchmark Classification (Twonorm) (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32946848.v1