CD_55 Original + Derivados

CD_55: Yeast (Imbalanced Version)

Conjunto de datos biológico para determinar la ubicación exacta de las proteínas dentro de la célula (específicamente si están en la Vacuola o en otras zonas).

📈 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.97 1.00 0.98 184
Clase 1 0.00 0.00 0.00 6
Accuracy 0.97
Macro Avg 0.48 0.50 0.49 190
Weighted Avg 0.94 0.97 0.95 190
AUC-ROC: 0.30
F1-Score (weighted): 0.95
Accuracy: 0.97
➡️ Mejora
⬆ +0.56 AUC ⬇ -0.08 F1 ⬇ -0.15 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.99 0.82 0.90 184
Clase 1 0.11 ⬆ +0.11 0.67 ⬆ +0.67 0.19 ⬆ +0.19 6
Accuracy 0.82 ⬇ -0.15
Macro Avg 0.55 ⬆ +0.07 0.74 ⬆ +0.24 0.54 ⬆ +0.05 190
Weighted Avg 0.96 ⬆ +0.02 0.82 ⬇ -0.15 0.87 ⬇ -0.08 190
AUC-ROC: 0.86 ⬆ +0.56
F1-Score (weighted): 0.87 ⬇ -0.08
Accuracy: 0.82 ⬇ -0.15

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.00
Sintético: 0.11
⬆ +0.11
📈
Recall
Original: 0.00
Sintético: 0.67
⬆ +0.67
⚖️
F1-Score
Original: 0.00
Sintético: 0.19
⬆ +0.19

📚 Fuente Original del Conjunto

Yeast (Imbalanced: 7 vs 1-2-8-9) Dataset

v1.0
Datos del mundo real (localización de proteínas en levadura)
Disponible en repositorios públicos (KEEL)

📄 Resumen (Abstract)

El conjunto de datos Yeast (Imbalanced: 7 vs 1-2-8-9) es una versión desbalanceada del conjunto de datos de localización de proteínas en levadura (Yeast). Los ejemplos positivos pertenecen a la clase VAC (vacuola), mientras que los ejemplos negativos pertenecen a las clases NUC (núcleo), CYT (citoplasma), POX (peroxisoma) y ERL (retículo endoplasmático). Este dataset está diseñado específicamente para abordar problemas de clasificación desbalanceada, con una razón de desbalanceo (IR) de 30.56 y solo 3.17% de instancias positivas.

🧬 Contexto del Dominio

El conjunto de datos Yeast original es un problema de clasificación multi-clase en bioinformática que busca predecir la localización subcelular de proteínas en la levadura Saccharomyces cerevisiae. Este dataset en particular es una versión binaria desbalanceada que se enfoca en la clase VAC (vacuola) frente a otras localizaciones.

📋 Clases del Dataset
Clase Descripción Rol en este dataset
VAC Vacuola (localización subcelular) Clase Positiva (minoritaria)
NUC Núcleo (localización subcelular) Clase Negativa (mayoritaria)
CYT Citoplasma (localización subcelular) Clase Negativa (mayoritaria)
POX Peroxisoma (localización subcelular) Clase Negativa (mayoritaria)
ERL Retículo endoplasmático (localización subcelular) Clase Negativa (mayoritaria)
⚠️ Características del Desbalanceo
  • Instancias positivas (VAC): 30 (3.17%)
  • Instancias negativas (NUC+CYT+POX+ERL): 917 (96.83%)
  • Razón de Desbalanceo (IR): 30.56
  • Desafío: Identificar la clase minoritaria en un contexto de alta desproporción

📊 Descripción de Datos

El dataset contiene 947 instancias con 8 atributos (7 variables predictoras y 1 variable objetivo). Todas las características son de tipo real (continuo) en el rango [0, 1] y no presentan valores faltantes.

📋 Variables del Dataset
Variable Tipo Descripción Rango
A. Variables Predictoras
Mcg Real Puntuación de localización en el complejo de Golgi [0.11, 1.0]
Gvh Real Puntuación de localización en el aparato de Golgi [0.13, 1.0]
Alm Real Puntuación de localización en la membrana [0.21, 1.0]
Mit Real Puntuación de localización en la mitocondria [0.0, 1.0]
Erl Real Puntuación de localización en el retículo endoplasmático [0.5, 1.0]
Pox Real Puntuación de localización en el peroxisoma [0.0, 0.83]
Vac Real Puntuación de localización en la vacuola [0.0, 0.73]
Nuc Real Puntuación de localización en el núcleo [0.0, 1.0]
B. Variable Objetivo
Class Binaria (Target) Indica si la proteína se localiza en la vacuola (VAC) {positive, negative}

📋 Características del Dataset

  • Tipo de problema: Clasificación binaria extremadamente desbalanceada
  • Dimensión: Multivariante (947 × 8)
  • Tipo de características: Reales (continuas)
  • Valores faltantes: No
  • Área de aplicación: Bioinformática, Localización de Proteínas, Clasificación Desbalanceada
  • Razón de desbalanceo (IR): 30.56
  • % Positivos: 3.17%
  • % Negativos: 96.83%

⚖️ Ética y Privacidad

El conjunto de datos contiene datos de bioinformática sobre la levadura Saccharomyces cerevisiae y no incluye información personal identificable. Los datos son de dominio público y se utilizan exclusivamente para fines académicos y de investigación. Restricción de confidencialidad: 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.

📋 Notas de Uso

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

  • La variable objetivo Class está codificada como positive (VAC) y negative (NUC+CYT+POX+ERL)
  • Las variables predictoras son numéricas reales en el rango [0, 1] y no requieren normalización
  • El dataset presenta un desbalanceo extremo (IR = 30.56) que requiere técnicas especiales:
    • Sobremuestreo de la clase positiva (SMOTE, ADASYN)
    • Submuestreo de la clase negativa (Random Undersampling)
    • Cost-sensitive learning (ponderación de clases)
    • Métodos de ensemble (Balanced Random Forest, EasyEnsemble)
  • Métricas apropiadas para datos desbalanceados:
    • Precision-Recall AUC (área bajo la curva de precisión-recall)
    • F1-Score (media armónica de precisión y recall)
    • Recall (sensibilidad para la clase positiva)
    • Specificity (especificidad para la clase negativa)
    • G-mean (media geométrica de sensibilidad y especificidad)
  • El dataset está disponible en el repositorio KEEL con particiones de 5-folds para validación cruzada
  • Es adecuado para modelos de clasificación como SVM con balanceo, Random Forest, XGBoost, y redes neuronales con muestreo
  • Las características Mcg, Gvh, Alm, Mit, Erl, Pox, Vac, Nuc representan puntuaciones de localización en diferentes orgánulos celulares

💡 Importancia en la Investigación de Clasificación Desbalanceada

El conjunto de datos Yeast (Imbalanced: 7 vs 1-2-8-9) es un benchmark clásico en la investigación de clasificación desbalanceada. Su importancia radica en:

  • Proporciona un problema real de bioinformática con un desbalanceo natural (IR = 30.56)
  • La clase minoritaria (VAC) representa solo el 3.17% de las instancias
  • Permite evaluar y comparar técnicas de muestreo y algoritmos para datos desbalanceados
  • Es ampliamente utilizado en la literatura para demostrar nuevos métodos de clasificación desbalanceada
  • El dataset tiene particiones predefinidas en KEEL para validación cruzada reproducible

Este dataset ha sido fundamental para el desarrollo de técnicas de aprendizaje desbalanceado y ha contribuido al avance de la minería de datos en problemas con clases minoritarias.

📖 Cómo citar la fuente original

Yeast (Imbalanced: 7 vs 1-2-8-9) Dataset. KEEL Repository. https://sci2s.ugr.es/keel/dataset.php?cod=166

📚 Referencias Adicionales

  • KEEL Repository - Yeast (Imbalanced: 7 vs 1-2-8-9). https://sci2s.ugr.es/keel/dataset.php?cod=166
  • Nakai, K., & Kanehisa, M. (1991). Expert system for predicting protein localization sites in gram-negative bacteria. Proteins: Structure, Function, and Bioinformatics, 11(2), 95-110.
  • Horton, P., & Nakai, K. (1996). A probabilistic classification system for predicting the cellular localization sites of proteins. Proceedings of the Fourth International Conference on Intelligent Systems for Molecular Biology, 109-115.
  • 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.

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original (Yeast - Imbalanced 7 vs 1-2-8-9)

  • Carga y estructuración de datos:
    • Carga del archivo yeast-1-2-8-9_vs_7.dat ignorando líneas de metadatos KEEL (comentarios con '@').
    • Asignación de nombres de columnas según la documentación: 8 variables predictoras (Mcg, Gvh, Alm, Mit, Erl, Pox, Vac, Nuc) y 1 variable objetivo (Class).
    • Limpieza de espacios en blanco en valores de tipo texto para garantizar consistencia.
  • Transformación de la variable objetivo:
    • Codificación de Class de texto a binaria: 'positive' (VAC - Vacuola) → 1 (Clase Positiva - Minoritaria), 'negative' (Otras localizaciones) → 0 (Clase Negativa - Mayoritaria).
    • Documentación del objetivo: predicción de localización de proteínas en la vacuola (VAC).
    • El dataset está diseñado específicamente para estudiar el desbalance extremo (Clase 7 vs clases 1,2,8,9).
  • Detección y eliminación de columnas constantes:
    • Identificación automática de columnas con varianza cero (valores constantes) que no aportan información predictiva.
    • Eliminación de columnas constantes para evitar problemas en cálculos de correlación y modelos de Machine Learning.
    • Documentación en leyenda de las columnas eliminadas para transparencia metodológica.
  • Preservación y documentación de variables predictoras:
    • Mantenimiento de las variables predictoras como scores numéricos en el rango 0.0 - 1.0.
    • Documentación detallada de cada score:
      • Mcg: Método de McGeoch para secuencia de señales.
      • Gvh: Método de von Heijne para secuencia de señales.
      • Alm: Score de la secuencia ALOM (región de membrana).
      • Mit: Score de discriminación de secuencias señal mitocondriales.
      • Erl: Presencia de la subcadena 'HDEL' (Retículo endoplasmático).
      • Pox: Score discriminante peroxisomal.
      • Vac: Score discriminante de proteínas vacuolares y nucleares.
      • Nuc: Score discriminante de proteínas nucleares.
  • Generación de documentación completa:
    • Creación del archivo leyenda_yeast_imbalanced.txt con semántica completa de la variable objetivo y todas las variables predictoras.
    • Documentación de la variable Class (0 = negative - Otras localizaciones, 1 = positive - VAC/Vacuola).
    • Nota sobre el alto desbalance del dataset (IR > 30) — característica fundamental para validación de técnicas de sobremuestreo.
    • Contextualización biológica: localización de proteínas en células de levadura.
    • Estadísticas finales: total de instancias, distribución de clases y ratio de desbalance extremo.
  • Preservación de la estructura y calidad de datos:
    • Mantenimiento de las instancias originales del dataset de levadura sin eliminación de filas.
    • Dataset final con 8 variables predictoras (todas numéricas continuas en rango 0.0-1.0) y 1 variable objetivo binaria.
    • Guardado en formato CSV con separador punto y coma (;) para compatibilidad internacional.

📊 Resultado: Dataset de localización de proteínas en levadura con 8 variables predictoras (scores de predicción de secuencias) y 1 variable objetivo binaria (Class). Desbalance extremo (~96.8% clase negativa / ~3.2% clase positiva, IR > 30) — escenario crítico para validación de técnicas de generación de datos sintéticos y evaluación del índice TabDSFidelity en contextos de bioinformática y predicción de localización subcelular, donde la detección de proteínas con localizaciones específicas (vacuola) es fundamental para la comprensión de funciones celulares.

🧬 Fuente: Yeast Dataset (KEEL Repository) - Datos de localización de proteínas en células de levadura.

🔬 Variables predictoras (scores 0.0-1.0): Mcg, Gvh, Alm, Mit, Erl, Pox, Vac, Nuc — métodos de predicción de secuencias de señales para localización subcelular.

🎯 Variable objetivo: Class (1 = positive - VAC/Vacuola, 0 = negative - Otras localizaciones: NUC, CYT, POX, ERL).

⚠️ Desbalance extremo: Solo ~3.2% de instancias pertenecen a la clase positiva (VAC) — escenario ideal para validación de técnicas de sobremuestreo y generación de datos sintéticos en problemas de clasificación con datos desbalanceados.

📁 Leyenda disponible: Archivo leyenda_yeast_imbalanced.txt con descripción completa de la variable objetivo y los scores de predicción.

🧹 Limpieza aplicada: Carga ignorando metadatos KEEL, codificación de target ('positive'→1, 'negative'→0), eliminación de columnas constantes (varianza cero).

📋 Diccionario de Datos Detallado

Variable Descripción de Localización Proteica Tipo Rango / Categorías Unidad ¿Objetivo?
Mcg Método de McGeoch para reconocimiento de secuencia señal Numérico 0.17 - 0.90 N/A No
Gvh Método de von Heijne para reconocimiento de secuencia señal Numérico 0.16 - 0.92 N/A No
Alm Score ALOM para predicción de regiones de membrana Numérico 0.26 - 1.00 N/A No
Mit Score discriminante para señales de localización mitocondrial Numérico 0 - 1.00 N/A No
Erl Presencia de la subcadena "HDEL" (Retículo Endoplasmático) Numérico 0.50 - 1.00 N/A No
Pox Score discriminante para señales de localización peroxisomal Numérico 0 - 0.83 N/A No
Vac Score discriminante para proteínas vacuolares y nucleares Numérico 0 - 0.73 N/A No
Nuc Score discriminante para señales de localización nuclear Numérico 0 - 1.00 N/A No
Class Localización en Vacuola (objetivo) Binario 0: No (Otras localizaciones), 1: Sí (Vacuola) N/A
9 Variables totales
8 Numéricas
0 Categóricas
1 Binarias
Objetivo: Localización Vacuola (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 de Localización de Proteínas en Levadura (Yeast Imbalanced). Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados de clasificación de proteínas.

Class 🎯 Objetivo
Código Significado
0 No (VAC = 0) - Proteína NO se localiza en Vacuola. Otras localizaciones: NUC (Núcleo), CYT (Citoplasma), POX (Peroxisoma), ERL (Retículo Endoplasmático). Clase mayoritaria (~96.83%)
1 Sí (VAC = 1) - La proteína se localiza en la Vacuola. Clase minoritaria (~3.17%)
🎯

Variable Objetivo: Clasifica si una proteína se localiza en la Vacuola (VAC) frente a otras localizaciones celulares.

Variables Binarias Binario

Formato: 0 = No (Otras localizaciones), 1 = Sí (Vacuola)

Class 🎯 Variable Objetivo: Localización en Vacuola (0: No, 1: Sí)
ℹ️

Nota: Única variable binaria en el dataset.

📊
Variables numéricas: 8
  • Mcg - Método de McGeoch
  • Gvh - Método de von Heijne
  • Alm - Score ALOM
  • Mit - Score mitocondrial
  • Erl - Presencia HDEL
  • Pox - Score peroxisomal
  • Vac - Score vacuolar
  • Nuc - Score nuclear
🎯
Variables binarias: 1
  • 🎯 Class (Objetivo - Localización Vacuola)
⚠️
Recomendaciones de Análisis:
  • Métrica clave: Recall sobre Accuracy (detectar proteínas vacuolares es prioritario)
  • Escalado: Todas las variables están en rango [0,1]. No requiere escalado adicional.
  • Variables clave: Vac y Nuc son los predictores más importantes
  • Variables constantes: Verificar si Erl o Pox tienen muy poca varianza

🔬 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

  • Mit > 0.7 → Class = 0
  • Nuc > 0.8 → Class = 0
  • Pox > 0.5 → Class = 0
  • Erl == 1.0 → Class = 0
  • Class == 1 → Mit < 0.5
  • Class == 1 → Pox = 0
  • Class == 1 → Vac ≥ 0.4
  • Nuc < 0.1 → Vac < 0.4 (Núcleo bajo → vacío bajo)
  • Alm > 0.8 → Gvh > 0.6 (Almendra alta → Gvh alto)
  • Mit < 0.1 → (Mcg > 0.5) OR (Gvh > 0.5) OR (Nuc > 0.5)
  • Mit > 0.7 → Nuc < 0.4 (Mitocondria alta → núcleo bajo)
  • Nuc > 0.7 → Alm < 0.6 (Núcleo alto → almendra baja)
  • Pox > 0 → Class = 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 1 1098 0.826 0.953 0.968 7.239 0.174 0.255 0.552 0.922 60.342 0 1098 0.513 🏆
Smote 1 1098 0.851 0.941 0.937 4.495 0.329 0.263 0.552 0.926 49.979 0.007 568 0.522
Borderline SMOTE 1 1098 0.827 0.962 0.963 6.830 0.335 0.250 0.552 0.883 48.761 0.008 568 0.522
ADASYN 1.007 1102 0.876 0.944 0.937 4.987 0.327 0.257 0.556 0.930 49.574 0.007 568 0.525
SMOTE RSB* Adaptado 1.017 1089 0.681 0.944 0.942 3.287 0.323 0.255 0.545 0.923 48.502 0.009 567 0.537
SMOTE RSB* Adaptado + Reglas 1.017 1089 0.780 0.938 0.932 3.302 0.324 0.257 0.545 0.922 49.330 0.009 567 0.520
OOF PSO para Balanceo 1.011 1092 0.848 0.961 0.968 5.243 0.413 0.000 0.547 0.676 56.196 0.107 567 0.487
OOF PSO para Balanceo + Reglas 5.203 1098 0.884 0.964 0.974 6.033 0.405 0.000 0.087 0.637 56.724 0.110 567 0.518
Mejor seleccionado: Random Oversampling (TabDSFidelity: 7.239, AUC: 0.826, F1: 0.953, MIA: 0.513). 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 2.126 5127 0.652 0.957 0.963 5.267 0.631 0.006 0.269 0.947 62.113 0.116 0 0.426
SMOTE RSB* + Ruido Gaussiano + Reglas 2.138 5127 0.640 0.957 0.963 5.142 0.618 0.006 0.267 0.947 162.986 0.115 0 0.408
CTGAN 1.005 9999 0.800 0.789 0.689 7.435 0.275 0.250 0.550 0.899 393.163 0.034 0 0.467
CTGAN + Reglas del Dominio 1.053 9999 0.769 0.800 0.705 7.124 0.275 0.250 0.529 0.899 522.270 0.034 0 0.459
TVAE 1.027 9971 0.742 0.922 0.895 7.857 0.178 0.251 0.540 0.901 232.770 0.019 0 0.532
TVAE + Reglas del Dominio 1.028 9971 0.744 0.922 0.895 7.874 0.178 0.251 0.539 0.901 377.346 0.019 0 0.532 🏆
OOF PSO para Aumento 1 10000 0.653 0.666 0.532 2.600 0.701 0.125 0.552 0.567 110.528 0.277 0 0.487
OOF PSO para Aumento + Reglas 5.452 10000 0.677 0.304 0.211 1.057 0.697 0.125 0.081 0.609 247.182 0.255 0 0.481
SMOTE RSB* Refinado 2.329 4993 0.644 0.953 0.968 5.173 0.664 0.029 0.243 0.941 61.241 0.006 0 0.528
SMOTE RSB* Refinado + Reglas 2.329 4993 0.739 0.953 0.968 6.392 0.650 0.029 0.243 0.941 170.308 0.006 0 0.521
Mejor seleccionado: TVAE + Reglas del Dominio (TabDSFidelity: 7.874, AUC: 0.744, F1: 0.922, MIA: 0.532). 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.844 6225 0.564 0.961 0.968 5.056 0.542 0.005 0.312 0.943 114.008 0.115 0 0.422
SMOTE RSB* + Ruido Gaussiano + Reglas 1.852 6225 0.683 0.950 0.963 5.537 0.530 0.005 0.311 0.942 216.065 0.115 0 0.422
CTGAN 1.004 11097 0.769 0.847 0.774 3.871 0.262 0.250 0.550 0.905 460.365 0.031 200 0.449
CTGAN + Reglas del Dominio 1.047 11097 0.821 0.868 0.805 4.831 0.262 0.250 0.531 0.903 589.286 0.031 200 0.456
TVAE 1.025 11069 0.751 0.919 0.895 6.415 0.169 0.252 0.541 0.905 308.405 0.018 199 0.480
TVAE + Reglas del Dominio 1.025 11069 0.765 0.924 0.900 6.634 0.169 0.252 0.541 0.905 450.388 0.018 199 0.480
OOF PSO para Aumento 1 11098 0.909 0.964 0.974 6.487 0.619 0.125 0.552 0.592 180.260 0.249 200 0.519
OOF PSO para Aumento + Reglas 4.287 11098 0.728 0.957 0.963 5.333 0.616 0.125 0.115 0.634 316.841 0.230 200 0.542
SMOTE RSB* Refinado 1.973 6091 0.894 0.953 0.968 6.824 0.561 0.016 0.291 0.938 115.570 0.004 387 0.507 🏆
SMOTE RSB* Refinado + Reglas 1.973 6091 0.811 0.953 0.968 6.370 0.549 0.016 0.291 0.938 228.037 0.004 387 0.521
Mejor seleccionado: SMOTE RSB* Refinado (TabDSFidelity: 6.824, AUC: 0.894, F1: 0.953, MIA: 0.507). Nota: Ratio <= 1.5 = Conjunto Balanceado.

📈 Diagrama del Proceso de Generación

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