Dataset financiero para la detección de fraude en tiempo real (Class). Se caracteriza por un desbalance de clases extremo (solo el 0.172% son fraudes), constituyendo la prueba definitiva para las técnicas de sobremuestreo. Por privacidad, 28 variables son componentes principales (PCA) continuos y ortogonales (V1-V28) de significado abstracto, acompañadas de las variables originales Time y Amount.
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.
| Clase | Precisión | Recall | F1-Score | Soporte |
|---|---|---|---|---|
| Clase 0 | 1.00 | 0.99 | 0.99 | 200 |
| Clase 1 | 0.00 | 0.00 | 0.00 | 0 |
| Accuracy | 0.99 | |||
| Macro Avg | 0.50 | 0.49 | 0.50 | 200 |
| Weighted Avg | 1.00 | 0.99 | 0.99 | 200 |
| Clase | Precisión | Recall | F1-Score | Soporte |
|---|---|---|---|---|
| Clase 0 | 1.00 | 1.00 | 1.00 | 200 |
| Clase 1 | 0.00 — | 0.00 — | 0.00 — | 0 |
| Accuracy | 1.00 ⬆ +0.01 | |||
| Macro Avg | 1.00 ⬆ +0.50 | 1.00 ⬆ +0.51 | 1.00 ⬆ +0.50 | 200 |
| Weighted Avg | 1.00 — | 1.00 ⬆ +0.01 | 1.00 ⬆ +0.01 | 200 |
⚠️ Conjunto de datos sin clase minoritaria: El conjunto de datos utilizado no contiene instancias de la Clase 1 (soporte = 0). Por lo tanto, las métricas de precisión, recall y F1-Score para esta clase son 0.00 en ambos conjuntos (Original y Sintético). El AUC-ROC también es 0.00 debido a la ausencia de la clase positiva.
El conjunto de datos de Detección de Fraude en Tarjetas de Crédito contiene transacciones realizadas con tarjetas de crédito en septiembre de 2013 por titulares de tarjetas europeos. El dataset presenta transacciones ocurridas en dos días, con 492 fraudes de un total de 284,807 transacciones. El conjunto está altamente desbalanceado, donde la clase positiva (fraude) representa solo el 0.172% de todas las transacciones. El objetivo es desarrollar modelos que reconozcan transacciones fraudulentas para que los clientes no sean cobrados por artículos que no compraron.
La detección de fraude en tarjetas de crédito es un problema crítico en la industria financiera. Las compañías de tarjetas de crédito necesitan identificar transacciones fraudulentas para:
El dataset fue recolectado y analizado durante una colaboración de investigación entre Worldline y el Machine Learning Group (MLG) de la Université Libre de Bruxelles (ULB) en el ámbito del big data mining y la detección de fraudes.
El dataset es extremadamente desbalanceado:
⚠️ La precisión de la matriz de confusión no es significativa para clasificación desbalanceada. Se recomienda medir el rendimiento utilizando el Área Bajo la Curva de Precisión-Recall (AUPRC).
El dataset contiene 284,807 instancias con 30 atributos (28 variables PCA + Time + Amount + Class). Las características son numéricas y son el resultado de una transformación PCA para proteger la confidencialidad de los datos originales.
| Variable | Tipo | Descripción | Notas |
|---|---|---|---|
| A. Componentes Principales (PCA) | |||
| V1 - V28 | Numérico | Componentes principales obtenidos mediante PCA | Sin significado semántico por confidencialidad |
| B. Variables sin Transformación PCA | |||
| Time | Numérico | Segundos transcurridos entre cada transacción y la primera transacción del dataset | - |
| Amount | Numérico | Monto de la transacción | Puede utilizarse para aprendizaje sensible a costos dependiente del ejemplo |
| C. Variable Objetivo | |||
| Class | Binaria (Target) | Indica si la transacción es fraudulenta | 1 = Fraude 0 = No fraude |
Debido a problemas de confidencialidad, no se pueden proporcionar las características originales ni información de fondo adicional sobre los datos. Las características V1 a V28 son los componentes principales obtenidos mediante PCA, lo que preserva la estructura de los datos mientras protege la información sensible.
Este dataset ha sido ampliamente utilizado en la investigación académica. Se recomienda citar los siguientes trabajos:
Dal Pozzolo, A., Caelen, O., Johnson, R. A., & Bontempi, G. (2015). Calibrating Probability with Undersampling for Unbalanced Classification. IEEE Symposium on Computational Intelligence and Data Mining (CIDM).
Dal Pozzolo, A., Caelen, O., Le Borgne, Y. A., Waterschoot, S., & Bontempi, G. (2014). Learned lessons in credit card fraud detection from a practitioner perspective. Expert Systems with Applications, 41(10), 4915-4928.
Dal Pozzolo, A., Boracchi, G., Caelen, O., Alippi, C., & Bontempi, G. (2018). Credit card fraud detection: a realistic modeling and a novel learning strategy. IEEE Transactions on Neural Networks and Learning Systems, 29(8), 3784-3797.
El conjunto de datos ha sido anonimizado mediante PCA para proteger la confidencialidad de los titulares de tarjetas y la información de las transacciones. Las características originales no están disponibles por razones de confidencialidad. 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 transacciones o titulares.
Este conjunto de datos presenta desafíos únicos debido al desbalanceo extremo y la anonimización de características. Se recomienda:
El fraude con tarjetas de crédito es un problema global que causa pérdidas significativas. Según estudios de la industria:
Este dataset ha sido fundamental para el desarrollo de modelos de aprendizaje automático para la detección de fraudes, contribuyendo a la investigación en clasificación desbalanceada, aprendizaje sensible a costos y detección de anomalías.
Dal Pozzolo, A., Caelen, O., Johnson, R. A., & Bontempi, G. (2015). Calibrating Probability with Undersampling for Unbalanced Classification. In IEEE Symposium on Computational Intelligence and Data Mining (CIDM), 2015. Worldline & Machine Learning Group (ULB). Credit Card Fraud Detection Dataset. https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud
📊 Resultado: Dataset de 284,807 transacciones con 30 variables predictoras (2 originales + 28 transformadas con PCA) y 1 variable objetivo binaria (Class). Desbalance extremo (~99.83% transacciones legítimas / ~0.17% fraudes) — 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 de fraude financiero, donde la identificación de eventos raros es fundamental y las variables han sido anonimizadas mediante PCA para proteger la privacidad de los usuarios.
💳 Fuente: Credit Card Fraud Detection Dataset (Kaggle) - Transacciones de tarjetas de crédito europeas (Septiembre 2013).
🔒 Variables transformadas: V1 a V28 son componentes principales obtenidos mediante PCA, anonimizados para proteger información confidencial de los titulares de tarjetas.
⏱️ Variables originales: Time (segundos desde primera transacción) y Amount (importe) — útiles para modelos sensibles al costo y análisis de patrones temporales.
📁 Leyenda disponible: Archivo leyenda_creditcard.txt con descripción completa de la variable objetivo, variables originales y contexto del dataset.
🎯 Variable objetivo: Class (1 = Transacción fraudulenta, 0 = Transacción legítima).
⚠️ Desbalance extremo: Solo 0.172% de transacciones son fraudulentas — escenario ideal para validación de técnicas de sobremuestreo y generación de datos sintéticos en problemas de detección de eventos raros.
| Variable | Descripción Clínica / Financiera | Tipo | Rango / Categorías | Unidad | ¿Objetivo? |
|---|---|---|---|---|---|
Time |
Tiempo transcurrido desde la primera transacción del dataset | Numérico | 205 - 171,924 | segundos | No |
V1 |
Componente principal 1 (PCA - Anónimo) | Numérico | -11.74 - 2.31 | N/A | No |
V2 |
Componente principal 2 (PCA - Anónimo) | Numérico | -7.79 - 7.57 | N/A | No |
V3 |
Componente principal 3 (PCA - Anónimo) | Numérico | -6.95 - 3.36 | N/A | No |
V4 |
Componente principal 4 (PCA - Anónimo) | Numérico | -4.40 - 4.81 | N/A | No |
V5 |
Componente principal 5 (PCA - Anónimo) | Numérico | -7.43 - 7.04 | N/A | No |
V6 |
Componente principal 6 (PCA - Anónimo) | Numérico | -5.08 - 5.28 | N/A | No |
V7 |
Componente principal 7 (PCA - Anónimo) | Numérico | -5.59 - 5.43 | N/A | No |
V8 |
Componente principal 8 (PCA - Anónimo) | Numérico | -12.07 - 4.30 | N/A | No |
V9 |
Componente principal 9 (PCA - Anónimo) | Numérico | -2.91 - 3.82 | N/A | No |
V10 |
Componente principal 10 (PCA - Anónimo) | Numérico | -5.25 - 4.77 | N/A | No |
V11 |
Componente principal 11 (PCA - Anónimo) | Numérico | -2.38 - 4.60 | N/A | No |
V12 |
Componente principal 12 (PCA - Anónimo) | Numérico | -5.03 - 2.06 | N/A | No |
V13 |
Componente principal 13 (PCA - Anónimo) | Numérico | -3.30 - 3.52 | N/A | No |
V14 |
Componente principal 14 (PCA - Anónimo) | Numérico | -6.42 - 3.07 | N/A | No |
V15 |
Componente principal 15 (PCA - Anónimo) | Numérico | -2.54 - 2.39 | N/A | No |
V16 |
Componente principal 16 (PCA - Anónimo) | Numérico | -2.78 - 2.18 | N/A | No |
V17 |
Componente principal 17 (PCA - Anónimo) | Numérico | -4.61 - 4.13 | N/A | No |
V18 |
Componente principal 18 (PCA - Anónimo) | Numérico | -2.73 - 2.71 | N/A | No |
V19 |
Componente principal 19 (PCA - Anónimo) | Numérico | -2.91 - 3.10 | N/A | No |
V20 |
Componente principal 20 (PCA - Anónimo) | Numérico | -4.50 - 2.93 | N/A | No |
V21 |
Componente principal 21 (PCA - Anónimo) | Numérico | -6.27 - 8.83 | N/A | No |
V22 |
Componente principal 22 (PCA - Anónimo) | Numérico | -2.58 - 2.00 | N/A | No |
V23 |
Componente principal 23 (PCA - Anónimo) | Numérico | -1.85 - 2.44 | N/A | No |
V24 |
Componente principal 24 (PCA - Anónimo) | Numérico | -2.28 - 1.24 | N/A | No |
V25 |
Componente principal 25 (PCA - Anónimo) | Numérico | -2.56 - 1.75 | N/A | No |
V26 |
Componente principal 26 (PCA - Anónimo) | Numérico | -1.18 - 2.47 | N/A | No |
V27 |
Componente principal 27 (PCA - Anónimo) | Numérico | -3.88 - 2.09 | N/A | No |
V28 |
Componente principal 28 (PCA - Anónimo) | Numérico | -1.41 - 2.76 | N/A | No |
Amount |
Importe de la transacción | Numérico | 0 - 1,383.76 | moneda | No |
Class |
Indicador de fraude en la transacción (objetivo) | Binario | 0: Legítima, 1: Fraude | N/A | Sí |
Esta sección detalla los códigos y significados de las variables categóricas y binarias presentes en el conjunto de datos de Detección de Fraude en Tarjetas de Crédito. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados y la detección de transacciones fraudulentas.
Class
🎯 Objetivo
| Código | Significado |
|---|---|
| 0 | Transacción Legítima - Operación normal. Clase mayoritaria (>99.8%) |
| 1 | Fraude - Transacción fraudulenta. Clase minoritaria (0.172%) |
Variable Objetivo: El modelo debe identificar transacciones fraudulentas en tiempo real.
Formato: 0 = Legítimo, 1 = Fraude
Class
🎯 Variable Objetivo: Fraude en transacción (0: Legítima, 1: Fraude)
Nota: Única variable binaria en el dataset.
V17 < -3.5 → Class = 1 (Fraude)V14 < -6.0 → Class = 1 (Fraude)V12 < -6.0 → Class = 1 (Fraude)Amount < 2.0 → Class = 1 (Fraude)Amount > 15000 → Class = 1 (Fraude)Class == 0 → V17 > -2.5Class == 0 → V14 > -5.0Class == 0 → Amount < 10000| Valor escala | 0.03 |
|---|---|
| Probabilidad Base | 0.1 |
| epochs | 500 |
|---|---|
| batch_size | 50 |
| generator_lr | 0.0002 |
| discriminator_lr | 0.0002 |
| pac | 10 |
| generator_dim | (256, 256) |
| discriminator_dim | (256, 256) |
| embedding_dim | 128 |
| l2scale | 1e-05 |
| epochs | 500 |
|---|---|
| batch_size | 50 |
| embedding_dim | 128 |
| compress_dims | (128, 128) |
| decompress_dims | (128, 128) |
| l2scale | 1e-5 |
| loss_factor | 2 |
| Random Seed | 42 |
|---|---|
| Python | 3.12.12 |
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.
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:
El mejor conjunto de cada etapa fue seleccionado mediante el índice TabDSFidelity.
| 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 | 1196 | 0.000 | 1.000 | 1.000 | 5.656 | 0.453 | 0.000 | 0.671 | 0.657 | 52.351 | 0 | 1196 | 0.472 | |
| Smote | 1 | 1196 | 0.000 | 1.000 | 1.000 | 5.723 | 0.454 | 0.000 | 0.671 | 0.726 | 55.666 | 0.010 | 1000 | 0.460 | |
| Borderline SMOTE | 1 | 1196 | 0.000 | 1.000 | 1.000 | 5.723 | 0.454 | 0.000 | 0.671 | 0.726 | 53.747 | 0.010 | 1000 | 0.460 | |
| ADASYN | 1.003 | 1194 | 0.000 | 1.000 | 1.000 | 5.639 | 0.454 | 0.000 | 0.669 | 0.693 | 56.137 | 0.013 | 926 | 0.460 | |
| SMOTE RSB* Adaptado | 1 | 1196 | 0.000 | 1.000 | 1.000 | 5.523 | 0.463 | 0.007 | 0.671 | 0.811 | 55.099 | 0.051 | 600 | 0.466 | |
| SMOTE RSB* Adaptado + Reglas | 1 | 1196 | 0.000 | 1.000 | 1.000 | 5.997 | 0.463 | 0.013 | 0.671 | 0.810 | 54.232 | 0.051 | 600 | 0.467 | 🏆 |
| OOF PSO para Balanceo | 1 | 1196 | 0.000 | 1.000 | 1.000 | 4.634 | 0.458 | 0.000 | 0.671 | 0.411 | 63.654 | 0.169 | 600 | 0.477 | |
| OOF PSO para Balanceo + Reglas | 1.476 | 1196 | 0.000 | 0.904 | 0.825 | 0.531 | 0.458 | 0.000 | 0.883 | 0.362 | 63.326 | 0.219 | 485 | 0.597 |
| 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.006 | 7257 | 0.000 | 1.000 | 1.000 | 6.728 | 0.811 | 0.010 | 0.668 | 0.812 | 107.195 | 0.097 | 0 | 0.460 | 🏆 |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 1.256 | 7257 | 0.000 | 0.898 | 0.815 | 4.260 | 0.811 | 0.010 | 0.790 | 0.815 | 305.723 | 0.097 | 0 | 0.442 | |
| CTGAN | 1.010 | 10000 | 0.000 | 0.997 | 0.995 | 4.963 | 0.831 | 0.000 | 0.666 | 0.878 | 680.192 | 0.129 | 0 | 0.394 | |
| CTGAN + Reglas del Dominio | 1.650 | 10000 | 0.000 | 0.889 | 0.800 | 2.350 | 0.831 | 0.000 | 0.951 | 0.882 | 955.312 | 0.133 | 0 | 0.380 | |
| TVAE | 1.219 | 10000 | 0.000 | 1.000 | 1.000 | 4.714 | 0.831 | 0.000 | 0.577 | 0.802 | 409.453 | 0.084 | 0 | 0.475 | |
| TVAE + Reglas del Dominio | 1.332 | 10000 | 0.000 | 0.898 | 0.815 | 2.258 | 0.831 | 0.000 | 0.823 | 0.808 | 678.689 | 0.087 | 0 | 0.603 | |
| OOF PSO para Aumento | 1 | 10000 | 0.000 | 1.000 | 1.000 | 4.247 | 0.827 | 0.000 | 0.671 | 0.627 | 164.674 | 0.337 | 0 | 0.407 | |
| OOF PSO para Aumento + Reglas | 21.371 | 10000 | 0.000 | 0.830 | 0.710 | 0.298 | 0.827 | 0.000 | 3.075 | 0.640 | 418.973 | 0.352 | 0 | 0.583 | |
| SMOTE RSB* Refinado | 1 | 7000 | 0.000 | 1.000 | 1.000 | 5.401 | 0.832 | 0.008 | 0.671 | 0.785 | 91.948 | 0.064 | 0 | 0.500 | |
| SMOTE RSB* Refinado + Reglas | 1.222 | 7000 | 0.000 | 0.901 | 0.820 | 3.004 | 0.832 | 0.008 | 0.775 | 0.788 | 268.321 | 0.066 | 0 | 0.620 |
| 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 | 8453 | 0.000 | 1.000 | 1.000 | 6.725 | 0.736 | 0.012 | 0.668 | 0.812 | 215.436 | 0.095 | 0 | 0.479 | 🏆 |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 1.216 | 8453 | 0.000 | 0.942 | 0.890 | 2.734 | 0.736 | 0.012 | 0.773 | 0.814 | 412.248 | 0.095 | 0 | 0.425 | |
| CTGAN | 1.009 | 11196 | 0.000 | 1.000 | 1.000 | 4.989 | 0.765 | 0.001 | 0.666 | 0.876 | 827.316 | 0.118 | 121 | 0.462 | |
| CTGAN + Reglas del Dominio | 1.561 | 11196 | 0.000 | 0.997 | 0.995 | 4.825 | 0.765 | 0.001 | 0.917 | 0.879 | 1101.690 | 0.122 | 121 | 0.441 | |
| TVAE | 1.193 | 11196 | 0.000 | 1.000 | 1.000 | 4.688 | 0.765 | 0.000 | 0.587 | 0.803 | 551.768 | 0.079 | 121 | 0.523 | |
| TVAE + Reglas del Dominio | 1.291 | 11196 | 0.000 | 0.966 | 0.935 | 2.374 | 0.765 | 0.000 | 0.806 | 0.809 | 824.046 | 0.082 | 121 | 0.432 | |
| OOF PSO para Aumento | 1 | 11196 | 0.000 | 1.000 | 1.000 | 4.166 | 0.760 | 0.000 | 0.671 | 0.637 | 300.780 | 0.306 | 121 | 0.428 | |
| OOF PSO para Aumento + Reglas | 9.714 | 11196 | 0.000 | 1.000 | 1.000 | 4.213 | 0.760 | 0.000 | 2.342 | 0.648 | 553.445 | 0.319 | 121 | 0.414 | |
| SMOTE RSB* Refinado | 1 | 8196 | 0.000 | 1.000 | 1.000 | 6.070 | 0.747 | 0.009 | 0.671 | 0.789 | 186.062 | 0.063 | 163 | 0.478 | |
| SMOTE RSB* Refinado + Reglas | 1.187 | 8196 | 0.000 | 0.953 | 0.910 | 2.824 | 0.747 | 0.009 | 0.760 | 0.792 | 365.449 | 0.064 | 163 | 0.454 |
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:
¿Qué mide? Capacidad del modelo para distinguir entre clases (Ej: mortalidad vs supervivencia).
Interpretación:
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.
¿Qué mide? Media armónica entre precisión y sensibilidad (recall).
Interpretación:
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).
¿Qué mide? Proporción de predicciones correctas sobre el total.
Interpretación:
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.
¿Qué mide? Calidad global del conjunto sintético comparado con el original.
Interpretació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).
¿Qué mide? Similitud entre las distribuciones de variables numéricas del conjunto sintético y el original.
Interpretación:
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.
¿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:
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.
¿Qué mide? Divergencia entre las distribuciones de variables categóricas del conjunto sintético y el original.
Interpretación:
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.
¿Qué mide? Preservación de las relaciones entre variables del conjunto original.
Interpretación:
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.
¿Qué mide? Tiempo total de ejecución del proceso de generación del conjunto.
Interpretación:
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.
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.
¿Qué mide? La distancia promedio entre cada registro sintético y su registro más cercano en el conjunto de datos original.
Interpretación:
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.
¿Qué mide? Número de registros sintéticos que son copias idénticas de registros en el conjunto de datos original.
Interpretació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.
¿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:
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.
Formatos incluidos: CSV.
Díaz Bastida, M., Pérez Vázquez, R. A., & Bello Pérez, R. (2026). High-Fidelity Synthetic Dataset for Credit Card Fraud Detection - Europe (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32939138.v1