CD_22 Original + Derivados

CD_22: Cervical Cancer (Risk Factors) - UCI

Registro clínico del Hospital Universitario de Caracas para la predicción binaria de cáncer cervical basada en el resultado de biopsia (Biopsy). Integra 858 instancias y 36 variables de riesgo: 1) Demográficas/Reproductivas (edad, número de parejas, embarazos); 2) Hábitos/Anticoncepción (tabaquismo, uso de hormonas/DIU); y 3) Historial Médico (diagnósticos específicos de ETS como VPH/VIH y otras pruebas de tamizaje).

📈 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.94 0.98 0.96 161
Clase 1 0.25 0.09 0.13 11
Accuracy 0.92
Macro Avg 0.60 0.54 0.55 172
Weighted Avg 0.90 0.92 0.91 172
AUC-ROC: 0.32
F1-Score (weighted): 0.91
Accuracy: 0.92
➡️ Mejora
⬆ +0.60 AUC ⬆ +0.05 F1 ⬆ +0.04 Acc
🏆 MEJOR RENDIMIENTO

🔮 Conjunto Sintético

Clase Precisión Recall F1-Score Soporte
Clase 0 0.98 0.98 0.98 161
Clase 1 0.67 ⬆ +0.42 0.73 ⬆ +0.64 0.70 ⬆ +0.57 11
Accuracy 0.96 ⬆ +0.04
Macro Avg 0.82 ⬆ +0.22 0.85 ⬆ +0.31 0.84 ⬆ +0.29 172
Weighted Avg 0.96 ⬆ +0.06 0.96 ⬆ +0.04 0.96 ⬆ +0.05 172
AUC-ROC: 0.91 ⬆ +0.60
F1-Score (weighted): 0.96 ⬆ +0.05
Accuracy: 0.96 ⬆ +0.04

📊 Resumen de Mejoras en Clase Minoritaria (Clase 1)

🎯
Precisión
Original: 0.25
Sintético: 0.67
⬆ +0.42
📈
Recall
Original: 0.09
Sintético: 0.73
⬆ +0.64
⚖️
F1-Score
Original: 0.13
Sintético: 0.70
⬆ +0.57

📚 Fuente Original del Conjunto

Cervical Cancer (Risk Factors) Dataset

v1.0
Fernandes, K., Cardoso, J. S., & Fernandes, J. C.
Publicado: 2 de marzo de 2017

📄 Resumen (Abstract)

El conjunto de datos de Factores de Riesgo de Cáncer Cervical fue recolectado en el Hospital Universitario de Caracas en Caracas, Venezuela. El dataset comprende información demográfica, hábitos y registros médicos históricos de 858 pacientes. El objetivo principal es la predicción de indicadores y diagnóstico de cáncer cervical, utilizando cuatro variables objetivo basadas en diferentes pruebas diagnósticas: Hinselmann, Schiller, Citología y Biopsia. El conjunto incluye factores de riesgo conocidos como edad, número de parejas sexuales, tabaquismo, uso de anticonceptivos hormonales, dispositivos intrauterinos (DIU), historial de enfermedades de transmisión sexual (ETS) e infección por VPH.

🔬 Métodos y Contexto

El dataset fue recolectado en el Hospital Universitario de Caracas como parte de la investigación sobre el cribado del cáncer cervical. El cáncer cervical es el cuarto cáncer más común en mujeres a nivel mundial, con aproximadamente 604,000 casos nuevos y 342,000 muertes en 2020, según la OMS. La detección temprana mediante pruebas de cribado como la citología (Papanicolaou), la colposcopia (pruebas de Schiller y Hinselmann) y la biopsia es fundamental para reducir la mortalidad. Varias pacientes decidieron no responder a algunas preguntas debido a preocupaciones de privacidad, lo que ha generado valores faltantes en el conjunto de datos.

Este dataset es particularmente valioso para abordar problemas de aprendizaje automático con datos faltantes y clasificación con múltiples objetivos, donde las cuatro pruebas diagnósticas pueden considerarse como diferentes puntos de vista del mismo fenómeno.

📊 Descripción de Datos

El dataset contiene 858 instancias con 36 atributos (32 variables predictoras y 4 variables objetivo). Las características son de tipo mixto (enteras, continuas y binarias). El conjunto presenta valores faltantes en la mayoría de las variables predictoras debido a la no respuesta de algunas pacientes por preocupaciones de privacidad.

📋 Variables del Dataset
Variable Tipo Descripción Valores Faltantes
A. Datos Demográficos e Historial
Age Entero Edad de la paciente No
Number of sexual partners Continuo Número de parejas sexuales
First sexual intercourse Continuo Edad de la primera relación sexual
Num of pregnancies Continuo Número de embarazos
B. Hábitos y Estilo de Vida
Smokes Binaria ¿Fuma la paciente? (0=No, 1=Sí)
Smokes (years) Continuo Años fumando
Smokes (packs/year) Continuo Paquetes por año (intensidad de tabaquismo)
Hormonal Contraceptives Binaria ¿Usa anticonceptivos hormonales?
Hormonal Contraceptives (years) Continuo Años de uso de anticonceptivos hormonales
IUD Binaria ¿Usa dispositivo intrauterino (DIU)?
IUD (years) Continuo Años de uso de DIU
C. Enfermedades de Transmisión Sexual (ETS)
STDs Binaria ¿Ha tenido ETS?
STDs (number) Continuo Número de ETS diagnosticadas
STDs:condylomatosis Binaria Condilomatosis
STDs:cervical condylomatosis Binaria Condilomatosis cervical
STDs:vaginal condylomatosis Binaria Condilomatosis vaginal
STDs:vulvo-perineal condylomatosis Binaria Condilomatosis vulvo-perineal
STDs:syphilis Binaria Sífilis
STDs:pelvic inflammatory disease Binaria Enfermedad inflamatoria pélvica
STDs:genital herpes Binaria Herpes genital
STDs:molluscum contagiosum Binaria Molusco contagioso
STDs:AIDS Binaria SIDA
STDs:HIV Binaria VIH
STDs:Hepatitis B Binaria Hepatitis B
STDs:HPV Binaria Virus del Papiloma Humano (VPH)
STDs: Number of diagnosis Entero Número de diagnósticos de ETS No
STDs: Time since first diagnosis Continuo Tiempo desde el primer diagnóstico de ETS
STDs: Time since last diagnosis Continuo Tiempo desde el último diagnóstico de ETS
D. Diagnósticos Previos
Dx:Cancer Binaria Diagnóstico previo de cáncer No
Dx:CIN Binaria Diagnóstico previo de Neoplasia Intraepitelial Cervical (CIN) No
Dx:HPV Binaria Diagnóstico previo de VPH No
Dx Binaria Diagnóstico previo (general) No
E. Variables Objetivo (Pruebas Diagnósticas)
Hinselmann Binaria (Target) Resultado de la prueba de Hinselmann (colposcopia) No
Schiller Binaria (Target) Resultado de la prueba de Schiller (colposcopia con yodo) No
Citology Binaria (Target) Resultado de la prueba de citología (Papanicolaou) No
Biopsy Binaria (Target) Resultado de la biopsia (estándar de oro) No

📋 Características del Dataset

  • Tipo de problema: Clasificación binaria con múltiples objetivos (4 pruebas diagnósticas)
  • Dimensión: Multivariante
  • Tipo de características: Mixtas (Enteros, Continuos y Binarios)
  • Valores faltantes: Sí (presentes en la mayoría de las variables predictoras)
  • Área de aplicación: Salud y Medicina, Ginecología, Oncología
  • Institución: Hospital Universitario de Caracas, Venezuela

📖 Publicación Introductoria

El artículo fundamental que describe el uso de aprendizaje por transferencia con observabilidad parcial aplicado al cribado de cáncer cervical es:

Fernandes, K., Cardoso, J. S., & Fernandes, J. C. (2017). Transfer Learning with Partial Observability Applied to Cervical Cancer Screening. Iberian Conference on Pattern Recognition and Image Analysis (IbPRIA 2017), Lecture Notes in Computer Science, vol. 10255, pp. 243-250. https://doi.org/10.1007/978-3-319-58838-4_23

⚖️ Ética y Privacidad

El conjunto de datos fue recolectado en el Hospital Universitario de Caracas y ha sido anonimizado para proteger la privacidad de las pacientes. Varias pacientes decidieron no responder a algunas preguntas debido a preocupaciones de privacidad, lo que ha generado valores faltantes en el conjunto de datos. 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 presenta desafíos particulares debido a la presencia de valores faltantes y la naturaleza de múltiples objetivos. Se recomienda:

  • Manejar adecuadamente los valores faltantes mediante imputación (media, mediana, moda, o técnicas avanzadas como MICE) o eliminación de registros incompletos
  • Considerar el problema como clasificación con múltiples objetivos (multi-target), donde las cuatro pruebas diagnósticas pueden predecirse simultáneamente
  • Las variables objetivo (Hinselmann, Schiller, Citology, Biopsy) representan diferentes niveles de invasividad y precisión diagnóstica
  • La biopsia se considera el estándar de oro para el diagnóstico definitivo
  • Estandarizar/normalizar las características numéricas (Age, Number of sexual partners, First sexual intercourse, Num of pregnancies, etc.)
  • Utilizar validación cruzada estratificada debido al posible desbalanceo entre clases en las variables objetivo
  • Considerar técnicas de selección de características debido a la alta dimensionalidad relativa al número de instancias
  • Tener en cuenta que el conjunto de datos proviene de una población específica (Venezuela), lo que debe considerarse al generalizar los resultados a otras poblaciones

💡 Importancia Clínica

El cáncer cervical (de cuello uterino) es el cuarto cáncer más común en mujeres a nivel mundial, con aproximadamente 604,000 casos nuevos y 342,000 muertes en 2020, según la Organización Mundial de la Salud (OMS). Es una enfermedad altamente prevenible y curable si se detecta a tiempo mediante cribado y tratamiento de lesiones precancerosas. Los principales factores de riesgo incluyen:

  • Infección persistente por Virus del Papiloma Humano (VPH) de alto riesgo (causa necesaria en el 99% de los casos)
  • Múltiples parejas sexuales
  • Inicio temprano de actividad sexual
  • Tabaquismo
  • Uso prolongado de anticonceptivos orales
  • Inmunosupresión

La OMS ha lanzado la Estrategia Mundial para Acelerar la Eliminación del Cáncer Cervical, con el objetivo de que todos los países alcancen y mantengan una incidencia inferior a 4 casos por 100,000 mujeres. Este conjunto de datos contribuye a este objetivo al permitir el desarrollo de modelos predictivos que pueden apoyar el cribado y la detección temprana.

📖 Cómo citar la fuente original

Fernandes, K., Cardoso, J. S., & Fernandes, J. C. (2017). Transfer Learning with Partial Observability Applied to Cervical Cancer Screening. In Iberian Conference on Pattern Recognition and Image Analysis (IbPRIA 2017), Lecture Notes in Computer Science, vol. 10255, pp. 243-250. https://doi.org/10.1007/978-3-319-58838-4_23

📚 Referencias Adicionales

🔄 Transformaciones Aplicadas

Modificaciones realizadas al conjunto original (Cervical Cancer Risk Factors)

  • Limpieza y tratamiento de valores no numéricos:
    • Identificación y reemplazo de valores '?' (indicadores de "no disponible" en el dataset original) a NaN para su correcto tratamiento estadístico.
    • Conversión forzada de todas las columnas a tipo numérico mediante pd.to_numeric(..., errors='coerce'), transformando cualquier valor no numérico residual a NaN.
  • Imputación de valores faltantes con mediana:
    • Aplicación de estrategia unificada de imputación con mediana en todas las variables con valores perdidos.
    • Justificación metodológica: La mediana es robusta para variables continuas (edad, número de parejas) y funciona como la moda para variables binarias (0/1).
    • Dataset resultante 100% completo sin valores faltantes.
  • Selección y enfoque en variable objetivo específica:
    • Enfoque en la variable Biopsy como variable objetivo principal para la clasificación binaria.
    • Mapeo: 0 = Resultado Negativo (Sano), 1 = Resultado Positivo (Cáncer/Lesión).
    • Preservación de todas las variables predictoras relacionadas con factores de riesgo y resultados de pruebas diagnósticas.
  • Estandarización y optimización de tipos de datos:
    • Conversión forzada de 33 variables conceptualmente enteras/binarias a tipo int para eliminar decimales y optimizar memoria.
    • Variables incluyen: edad, número de parejas sexuales, primer coito, número de embarazos, hábitos de tabaquismo, uso de anticonceptivos hormonales, DIU, ETS, diagnósticos, y resultados de pruebas (Hinselmann, Schiller, Citology, Biopsy).
    • Variables continuas (ej. Smokes (years), Hormonal Contraceptives (years)) preservadas como float para mantener precisión.
  • Generación de leyenda completa y documentación:
    • Creación del archivo leyenda_cervical_cancer.txt con descripción detallada de todas las variables.
    • Identificación automática de variables binarias (0/1) y su significado semántico (No/Negativo vs Sí/Positivo).
    • Clasificación de cada variable como Entero/Binario o Continuo (Real) para facilitar la interpretación.
    • Documentación de la estrategia de procesamiento (imputación con mediana).
  • Preservación de la estructura original:
    • Mantenimiento de las 858 instancias (pacientes) sin eliminación de filas.
    • Conservación de todas las variables originales (36 columnas) sin adición de columnas artificiales.
    • Guardado en formato CSV con separador punto y coma (;) para compatibilidad internacional.

📊 Resultado: Dataset de 858 pacientes con 35 variables predictoras (mixtas: binarias/categóricas codificadas y continuas) y 1 variable objetivo (Biopsy). Desbalance extremo (~95% resultados negativos / ~5% positivos) — 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 detección temprana de cáncer con baja prevalencia.

🏥 Fuente: Cervical Cancer Risk Factors Dataset (UCI Machine Learning Repository) - Donado por el Hospital Universitario de Caracas, Venezuela.

🔬 Variables clave: Factores demográficos, hábitos de salud, historial de ETS, resultados de pruebas diagnósticas (Hinselmann, Schiller, Citología, Biopsia) y diagnósticos (Cáncer, CIN, HPV).

📁 Leyenda disponible: Archivo leyenda_cervical_cancer.txt con mapeo semántico completo de todas las variables binarias y clasificación por tipo de dato.

🎯 Variable objetivo seleccionada: Biopsy (1 = Resultado Positivo - Cáncer/Lesión, 0 = Resultado Negativo - Sano).

⚠️ Desbalance extremo: Solo ~5% de casos positivos, escenario ideal para validación de técnicas de sobremuestreo y generación de datos sintéticos.

📋 Diccionario de Datos Detallado

Variable Descripción Clínica Tipo Rango / Categorías Unidad ¿Objetivo?
Age Edad de la paciente Numérico 13 - 79 años No
Number_of_sexual_partners Número de parejas sexuales Numérico 1 - 28 parejas No
First_sexual_intercourse Edad de inicio de relaciones sexuales Numérico 10 - 32 años No
Num_of_pregnancies Número de embarazos Numérico 0 - 10 embarazos No
Smokes_years Años de hábito tabáquico Numérico 0 - 37 años No
Smokes_packs_year Intensidad tabáquica (paquetes/año) Numérico 0 - 37 paquetes/año No
Hormonal_Contraceptives_years Años de uso de anticonceptivos hormonales Numérico 0 - 30 años No
IUD_years Años de uso de DIU (Dispositivo Intrauterino) Numérico 0 - 19 años No
STDs_number Número de ETS diagnosticadas Numérico 0 - 4 ETS No
STDs_Number_of_diagnosis Número de diagnósticos de ETS Numérico 0 - 3 diagnósticos No
STDsTime_since_first_diagnosis Tiempo desde el primer diagnóstico de ETS Numérico 1 - 22 años No
STDsTime_since_last_diagnosis Tiempo desde el último diagnóstico de ETS Numérico 1 - 22 años No
Smokes Hábito tabáquico Binario 0: No, 1: Sí N/A No
Hormonal_Contraceptives Uso de anticonceptivos hormonales Binario 0: No, 1: Sí N/A No
IUD Uso de DIU (Dispositivo Intrauterino) Binario 0: No, 1: Sí N/A No
STDs Historial de Enfermedades de Transmisión Sexual Binario 0: No, 1: Sí N/A No
STDscondylomatosis Condilomatosis (ETS) Binario 0: No, 1: Sí N/A No
STDscervical_condylomatosis Condilomatosis cervical (ETS) Binario 0: No, 1: Sí N/A No
STDsvaginal_condylomatosis Condilomatosis vaginal (ETS) Binario 0: No, 1: Sí N/A No
STDsvulvo_perineal_condylomatosis Condilomatosis vulvo-perineal (ETS) Binario 0: No, 1: Sí N/A No
STDssyphilis Sífilis (ETS) Binario 0: No, 1: Sí N/A No
STDspelvic_inflammatory_disease Enfermedad inflamatoria pélvica (ETS) Binario 0: No, 1: Sí N/A No
STDsgenital_herpes Herpes genital (ETS) Binario 0: No, 1: Sí N/A No
STDsmolluscum_contagiosum Molusco contagioso (ETS) Binario 0: No, 1: Sí N/A No
STDsAIDS Diagnóstico de SIDA Binario 0: No, 1: Sí N/A No
STDsHIV Diagnóstico de VIH Binario 0: No, 1: Sí N/A No
STDsHepatitis_B Diagnóstico de Hepatitis B Binario 0: No, 1: Sí N/A No
STDsHPV Diagnóstico de VPH (Virus del Papiloma Humano) Binario 0: No, 1: Sí N/A No
DxCancer Antecedente de diagnóstico de cáncer Binario 0: No, 1: Sí N/A No
DxCIN Antecedente de Neoplasia Intraepitelial Cervical (CIN) Binario 0: No, 1: Sí N/A No
DxHPV Antecedente de diagnóstico de VPH Binario 0: No, 1: Sí N/A No
Dx Antecedente de diagnóstico general (otras patologías) Binario 0: No, 1: Sí N/A No
Hinselmann Resultado de Colposcopia (Prueba de Hinselmann) Binario 0: Negativo, 1: Positivo N/A No
Schiller Resultado de la Prueba de Schiller (tinción yodo) Binario 0: Negativo, 1: Positivo N/A No
Citology Resultado de Citología (Papanicolaou) Binario 0: Negativo, 1: Positivo N/A No
Biopsy Resultado de Biopsia (Diagnóstico definitivo) - OBJETIVO Binario 0: Negativo, 1: Positivo (Cáncer/Lesión) N/A
36 Variables totales
12 Numéricas
0 Categóricas
24 Binarias
Objetivo: Cáncer Cervical (Biopsy)
Datos ausentes: 0%
Instancias: 858
Imputación: Mediana

📈 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 Factores de Riesgo de Cáncer Cervical. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados clínicos.

Biopsy 🎯 Objetivo
Código Significado
0 Negativo - Sin cáncer cervical / lesión maligna
1 Positivo - Cáncer cervical o lesión premaligna (CIN)
🎯

Variable Objetivo: Biopsia es el método más confiable para diagnóstico de cáncer cervical.

Variables Binarias Binario

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

Smokes Hábito tabáquico (0: No, 1: Sí)
Hormonal_Contraceptives Uso de anticonceptivos hormonales (0: No, 1: Sí)
IUD Uso de DIU (0: No, 1: Sí)
STDs Historial de ETS (0: No, 1: Sí)
STDscondylomatosis Condilomatosis
STDscervical_condylomatosis Condilomatosis cervical
STDsvaginal_condylomatosis Condilomatosis vaginal
STDsvulvo_perineal_condylomatosis Condilomatosis vulvo-perineal
STDssyphilis Sífilis
STDspelvic_inflammatory_disease Enfermedad inflamatoria pélvica
STDsgenital_herpes Herpes genital
STDsmolluscum_contagiosum Molusco contagioso
STDsAIDS SIDA
STDsHIV VIH
STDsHepatitis_B Hepatitis B
STDsHPV VPH (Virus del Papiloma Humano)
DxCancer Antecedente de cáncer
DxCIN Neoplasia Intraepitelial Cervical
DxHPV Diagnóstico de VPH
Dx Diagnóstico general
Hinselmann Colposcopia (prueba de Hinselmann)
Schiller Prueba de Schiller (tinción con yodo)
Citology Citología (Papanicolaou)
Biopsy 🎯 Variable Objetivo: Biopsia (Gold Standard)
ℹ️

Nota: Todas las variables binarias están codificadas como 0 = No y 1 = Sí.

📊
Variables binarias: 24
  • 4 Hábitos y Anticoncepción (Smokes, Hormonal, IUD, STDs)
  • 12 ETS específicas (Condilomatosis, Sífilis, VIH, VPH, etc.)
  • 4 Historial de diagnósticos (DxCancer, DxCIN, DxHPV, Dx)
  • 3 Pruebas de tamizaje (Hinselmann, Schiller, Citology)
  • 🎯 1 Objetivo (Biopsy)
📈
Variables numéricas: 12
  • 4 Demográficas/Reproductivas (Age, Partners, First_sex, Pregnancies)
  • 2 Tabaquismo (Smokes_years, Smokes_packs_year)
  • 2 Anticonceptivos (Hormonal_years, IUD_years)
  • 4 ETS (STDs_number, Number_diagnosis, Time_first, Time_last)
⚠️
Recomendaciones Clínicas:
  • Factor principal: Infección por VPH (STDsHPV) es el principal factor de riesgo para cáncer cervical
  • Factores secundarios: Tabaco, multiparidad, anticonceptivos hormonales prolongados
  • Tamizaje: Citología, Hinselmann y Schiller son pruebas de cribado complementarias a la biopsia
  • Historial: DxCIN (Neoplasia Intraepitelial) es precáncer y debe ser monitorizado
  • Desbalance: La clase asociada a las ETS tiene baja prevalencia
  • Imputación: Datos perdidos imputados con la mediana, especialmente en variables de tiempo de ETS

🔬 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

  • Age < 12 → Num_of_pregnancies = 0
  • Age < 12 → Number_of_sexual_partners = 0
  • Age < 15 → IUD = 0
  • Smokes == 0 → Smokes_years = 0
  • Smokes == 0 → Smokes_packs_year = 0
  • Hormonal_Contraceptives == 0 → Hormonal_Contraceptives_years = 0
  • IUD == 0 → IUD_years = 0
  • STDs == 0 → STDs_number = 0
  • Smokes_years > 0 → Smokes = 1
  • Hormonal_Contraceptives_years > 0 → Hormonal_Contraceptives = 1
  • IUD_years > 0 → IUD = 1
  • STDs_number > 0 → STDs = 1
  • STDsAIDS == 1 → STDsHIV = 1
  • DxCancer == 1 → Dx = 1
  • DxHPV == 1 → Dx = 1
  • STDs == 1 → (STDs_number > 0) OR (STDsHPV = 1) OR (STDscondylomatosis = 1) OR (STDssyphilis = 1) OR (STDsHIV = 1) OR (STDsgenital_herpes = 1)
  • STDscondylomatosis == 1 → STDs = 1
  • STDsHIV == 1 → STDs = 1

⚙️ 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 962 0.931 0.949 0.953 6.068 0.097 0.592 0.049 0.951 83.794 0 962 0.424
Smote 1 962 0.890 0.942 0.942 3.919 0.142 0.663 0.033 0.963 64.837 0.008 514 0.547
Borderline SMOTE 1 962 0.886 0.931 0.924 2.754 0.143 0.599 0.030 0.957 63.852 0.008 514 0.560
ADASYN 1.017 954 0.907 0.953 0.953 5.224 0.143 0.627 0.035 0.963 62.804 0.008 515 0.516
SMOTE RSB* Adaptado 1.041 943 0.921 0.983 0.983 7.888 0.130 0.606 0.048 0.957 75.553 0.014 518 0.368
SMOTE RSB* Adaptado + Reglas 1.041 943 0.947 0.978 0.977 8.197 0.131 0.519 0.047 0.960 79.086 0.017 514 0.426 🏆
OOF PSO para Balanceo 1 962 0.933 0.945 0.953 3.105 0.310 0.088 0.293 0.639 74.063 0.180 514 0.391
OOF PSO para Balanceo + Reglas 1 962 0.933 0.945 0.953 3.859 0.274 0.184 0.288 0.746 73.931 0.168 510 0.399
Mejor seleccionado: SMOTE RSB* Adaptado + Reglas del Dominio (TabDSFidelity: 8.197, AUC: 0.947, F1: 0.978, MIA: 0.426). 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.017 9270 0.910 0.965 0.965 7.393 0.198 0.220 0.067 0.946 128.278 0.670 0 0.427
SMOTE RSB* + Ruido Gaussiano + Reglas 1.017 9270 0.915 0.958 0.959 7.838 0.160 0.456 0.075 0.946 377.993 0.669 0 0.423
CTGAN 1.567 9999 0.742 0.870 0.849 2.742 0.229 0.244 0.072 0.899 716.492 0.060 1 0.538
CTGAN + Reglas del Dominio 1.567 9999 0.757 0.860 0.826 2.460 0.216 0.259 0.082 0.904 979.979 0.059 3 0.564
TVAE 1.162 9982 0.965 0.958 0.953 7.074 0.295 0.113 0.053 0.931 376.518 0.023 10 0.392
TVAE + Reglas del Dominio 1.162 9982 0.982 0.940 0.930 7.134 0.228 0.284 0.054 0.931 619.151 0.022 22 0.400
OOF PSO para Aumento 1 10000 0.935 0.978 0.977 5.696 0.608 0.000 0.419 0.622 176.677 0.255 0 0.437
OOF PSO para Aumento + Reglas 1 10000 0.933 0.978 0.977 5.644 0.586 0.000 0.407 0.591 435.069 0.253 0 0.499
SMOTE RSB* Refinado 1.045 9424 0.917 0.958 0.959 7.260 0.198 0.227 0.069 0.944 126.929 0.643 0 0.440
SMOTE RSB* Refinado + Reglas 1.045 9424 0.916 0.958 0.959 7.883 0.161 0.481 0.078 0.945 365.491 0.643 0 0.442 🏆
Mejor seleccionado: SMOTE RSB* Refinado + Reglas del Dominio (TabDSFidelity: 7.883, AUC: 0.916, F1: 0.958, MIA: 0.442). 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.012 10213 0.915 0.972 0.971 6.746 0.192 0.223 0.065 0.946 263.008 0.670 0 0.403
SMOTE RSB* + Ruido Gaussiano + Reglas 1.012 10213 0.926 0.978 0.977 8.177 0.156 0.465 0.072 0.947 510.331 0.670 0 0.436 🏆
CTGAN 1.511 10942 0.871 0.949 0.953 3.739 0.215 0.251 0.068 0.905 853.714 0.055 100 0.455
CTGAN + Reglas del Dominio 1.511 10942 0.879 0.949 0.953 4.035 0.201 0.282 0.078 0.910 1120.790 0.053 100 0.472
TVAE 1.143 10925 0.915 0.968 0.965 5.832 0.277 0.122 0.050 0.939 506.428 0.021 115 0.396
TVAE + Reglas del Dominio 1.143 10925 0.961 0.940 0.930 4.418 0.213 0.288 0.052 0.940 748.774 0.020 124 0.385
OOF PSO para Aumento 1.003 10943 0.924 0.978 0.977 5.260 0.557 0.000 0.362 0.643 314.274 0.235 100 0.411
OOF PSO para Aumento + Reglas 1.003 10943 0.920 0.978 0.977 5.146 0.537 0.000 0.356 0.613 572.799 0.233 100 0.428
SMOTE RSB* Refinado 1.037 10367 0.918 0.960 0.959 5.723 0.192 0.229 0.067 0.945 253.775 0.643 0 0.428
SMOTE RSB* Refinado + Reglas 1.037 10367 0.919 0.958 0.959 6.288 0.157 0.488 0.075 0.945 490.501 0.643 0 0.440
Mejor seleccionado: SMOTE RSB* + Ruido Gaussiano + Reglas del Dominio (TabDSFidelity: 8.177, AUC: 0.926, F1: 0.978, MIA: 0.436). Nota: Ratio <= 1.5 = Conjunto Balanceado.

📈 Diagrama del Proceso de Generación

Conjunto Original
CD_22
Balanceo
(8 métodos)
↓ Selección por TabDSFidelity
⭐ Mejor Balanceado
SMOTE RSB* Adaptado + Reglas del Dominio
Generación Sintética
(10 métodos)
↓ Evaluación TabDSFidelity
⭐ Mejor Sintético
SMOTE RSB* Refinado + Reglas del Dominio
⭐ Mejor Aumentado
SMOTE RSB* + Ruido Gaussiano + 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 Cervical Cancer Risk Factors (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32934074.v1