Conjunto de datos industrial para la clasificación binaria de defectos superficiales ("Bumps" vs. Otros) en acero. Integra atributos geométricos, radiométricos y sus transformaciones matemáticas derivadas (logaritmos, sigmoides).
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 | 0.85 | 0.94 | 0.89 | 159 |
| Clase 1 | 0.61 | 0.34 | 0.44 | 41 |
| Accuracy | 0.82 | |||
| Macro Avg | 0.73 | 0.64 | 0.67 | 200 |
| Weighted Avg | 0.80 | 0.82 | 0.80 | 200 |
| Clase | Precisión | Recall | F1-Score | Soporte |
|---|---|---|---|---|
| Clase 0 | 0.89 | 0.90 | 0.89 | 159 |
| Clase 1 | 0.59 ⬇ -0.02 | 0.56 ⬆ +0.22 | 0.57 ⬆ +0.13 | 41 |
| Accuracy | 0.83 ⬆ +0.01 | |||
| Macro Avg | 0.74 ⬆ +0.01 | 0.73 ⬆ +0.09 | 0.73 ⬆ +0.06 | 200 |
| Weighted Avg | 0.83 ⬆ +0.03 | 0.83 ⬆ +0.01 | 0.83 ⬆ +0.03 | 200 |
El conjunto de datos de Fallos en Placas de Acero (Steel Plates Faults) contiene imágenes de placas de acero clasificadas en 7 tipos diferentes de fallos. El objetivo es entrenar modelos de aprendizaje automático para el reconocimiento automático de patrones de defectos en placas de acero, permitiendo la inspección automatizada de calidad en la industria siderúrgica. Cada instancia representa una placa de acero con características extraídas de su imagen, y puede tener múltiples tipos de fallos simultáneamente (problema de clasificación multi-etiqueta).
La inspección de calidad de placas de acero es un proceso crítico en la industria siderúrgica. Los defectos en las placas pueden afectar significativamente la calidad del producto final y su rendimiento en aplicaciones estructurales. El reconocimiento automático de patrones permite:
⚠️ Nota: Una placa puede tener múltiples tipos de fallos simultáneamente (clasificación multi-etiqueta).
El dataset contiene 1,941 instancias con 27 atributos (20 variables predictoras y 7 variables objetivo). Las características son de tipo mixto (enteras y continuas) y no presentan valores faltantes.
| Variable | Tipo | Descripción | Unidades / Rango |
|---|---|---|---|
| A. Características Geométricas | |||
| X_Minimum | Entero | Coordenada X mínima del defecto | píxeles |
| X_Maximum | Entero | Coordenada X máxima del defecto | píxeles |
| Y_Minimum | Entero | Coordenada Y mínima del defecto | píxeles |
| Y_Maximum | Entero | Coordenada Y máxima del defecto | píxeles |
| Pixels_Areas | Entero | Área del defecto en píxeles | píxeles² |
| X_Perimeter | Entero | Perímetro en dirección X | píxeles |
| Y_Perimeter | Entero | Perímetro en dirección Y | píxeles |
| Length_of_Conveyer | Entero | Longitud en la cinta transportadora | unidades |
| B. Características de Luminosidad | |||
| Sum_of_Luminosity | Entero | Suma de luminosidad del defecto | unidades de luminosidad |
| Maximum_of_Luminosity | Entero | Luminosidad máxima del defecto | unidades de luminosidad |
| Minimum_of_Luminosity | Entero | Luminosidad mínima del defecto | unidades de luminosidad |
| C. Características del Material | |||
| TypeOfSteel_A300 | Entero | Tipo de acero A300 (indicador binario) | 0/1 |
| TypeOfSteel_A400 | Entero | Tipo de acero A400 (indicador binario) | 0/1 |
| Steel_Plate_Thickness | Entero | Grosor de la placa de acero | mm |
| D. Índices Derivados | |||
| Edges_Index | Continuo | Índice de bordes | - |
| Empty_Index | Continuo | Índice de vacío | - |
| Square_Index | Continuo | Índice de cuadratura | - |
| Outside_X_Index | Continuo | Índice de exterior en X | - |
| Edges_X_Index | Continuo | Índice de bordes en X | - |
| Edges_Y_Index | Continuo | Índice de bordes en Y | - |
| Outside_Global_Index | Continuo | Índice global de exterior | - |
| LogOfAreas | Continuo | Logaritmo del área | - |
| Log_X_Index | Continuo | Índice logarítmico en X | - |
| Log_Y_Index | Continuo | Índice logarítmico en Y | - |
| Orientation_Index | Continuo | Índice de orientación del defecto | - |
| Luminosity_Index | Continuo | Índice de luminosidad | - |
| SigmoidOfAreas | Continuo | Función sigmoide del área | - |
| E. Variables Objetivo (Multi-etiqueta) | |||
| Pastry | Binaria | Indica presencia de defecto Pastry | 1 = Presente, 0 = Ausente |
| Z_Scratch | Binaria | Indica presencia de rayadura en Z | 1 = Presente, 0 = Ausente |
| K_Scratch | Binaria | Indica presencia de rayadura en K | 1 = Presente, 0 = Ausente |
| Stains | Binaria | Indica presencia de manchas | 1 = Presente, 0 = Ausente |
| Dirtiness | Binaria | Indica presencia de suciedad | 1 = Presente, 0 = Ausente |
| Bumps | Binaria | Indica presencia de protuberancias | 1 = Presente, 0 = Ausente |
| Other_Faults | Binaria | Indica presencia de otros fallos | 1 = Presente, 0 = Ausente |
El conjunto de datos contiene información de procesos industriales y no incluye datos personales identificables. Las imágenes y características de las placas de acero son anónimas y no contienen información sobre trabajadores, clientes o ubicaciones específicas. 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, sin divulgación de información que pueda comprometer procesos industriales propietarios.
Este conjunto de datos es ideal para clasificación multi-etiqueta y reconocimiento de patrones. Se recomienda:
La detección automatizada de defectos en placas de acero es fundamental para la industria siderúrgica por varias razones:
Este dataset ha sido fundamental para la investigación en visión por computadora y control de calidad automatizado, proporcionando un caso de estudio realista con múltiples tipos de defectos y características geométricas y de luminosidad bien definidas.
Steel Plates Faults Dataset. UCI Machine Learning Repository. https://archive.ics.uci.edu/ml/datasets/Steel+Plates+Faults
\s+) para manejar cualquier cantidad de espacios o tabulaciones.train_test_split con parámetro stratify para preservar exactamente la proporción original de clases (desbalance de defectos tipo Bumps).📊 Resultado: Dataset de 1,941 placas de acero (con versión reducida estratificada de 1,000 ejemplos) con 27 variables predictoras (geométricas, de luminosidad, de tipo de acero e índices calculados) y 1 variable objetivo binaria (is_bump). Desbalance moderado-preservado (~82% otros defectos / ~18% defectos tipo Bumps) — escenario ideal para validación de técnicas de generación de datos sintéticos y evaluación del índice TabDSFidelity en contextos de control de calidad industrial e inspección automatizada de superficies, donde la detección de tipos específicos de defectos en materiales es fundamental.
🏭 Fuente: Steel Plates Faults Dataset (UCI Machine Learning Repository) - Datos de defectos en placas de acero para clasificación multiclase.
📊 Variables geométricas: X_Minimum, X_Maximum, Y_Minimum, Y_Maximum, Pixels_Areas, X_Perimeter, Y_Perimeter — dimensiones y características de la placa.
💡 Variables de luminosidad: Sum_of_Luminosity, Minimum_of_Luminosity, Maximum_of_Luminosity — mediciones de intensidad lumínica.
🔧 Variables de proceso: TypeOfSteel_A300, TypeOfSteel_A400 (binarias), Steel_Plate_Thickness, Length_of_Conveyer.
📐 Índices calculados: Edges_Index, Empty_Index, Square_Index, Outside_X_Index, Edges_X_Index, Edges_Y_Index, Outside_Global_Index, LogOfAreas, Log_X_Index, Log_Y_Index, Orientation_Index, Luminosity_Index, SigmoidOfAreas.
📁 Leyenda disponible: Archivo leyenda_steel_faults.txt con descripción completa de la variable objetivo y la estructura de variables predictoras.
🎯 Variable objetivo: is_bump (1 = Defecto tipo Bumps/Abolladura, 0 = Otros defectos).
🧹 Limpieza aplicada: Carga con separador de espacios, transformación de multiclase a binaria (Bumps vs otros), eliminación de 7 columnas de target para evitar Data Leakage, estandarización de tipos (14 variables a int), reducción estratificada a 1,000 ejemplos.
⚠️ Prevención de Data Leakage: Eliminación intencional de las 7 columnas originales de defectos para evitar que el modelo aprenda la relación trivial entre la clase original y el target binario.
| Variable | Descripción del Defecto | Tipo | Rango / Categorías | Unidad | ¿Objetivo? |
|---|---|---|---|---|---|
X_Minimum |
Coordenada X mínima del defecto (bounding box) | Numérico | 0 - 1,685 | píxeles | No |
X_Maximum |
Coordenada X máxima del defecto (bounding box) | Numérico | 4 - 1,692 | píxeles | No |
fieldYMin |
Coordenada Y mínima del defecto (bounding box) | Numérico | 7,003 - 12,806,495 | píxeles | No |
fieldYMax |
Coordenada Y máxima del defecto (bounding box) | Numérico | 7,020 - 12,806,520 | píxeles | No |
Pixels_Areas |
Área del defecto en píxeles | Numérico | 2 - 22,554 | píxeles² | No |
X_Perimeter |
Perímetro del defecto en dirección X | Numérico | 2 - 1,138 | píxeles | No |
Y_Perimeter |
Perímetro del defecto en dirección Y | Numérico | 1 - 696 | píxeles | No |
Sum_of_Luminosity |
Suma total de luminosidad del defecto | Numérico | 250 - 2,712,104 | N/A | No |
Minimum_of_Luminosity |
Luminosidad mínima del defecto | Numérico | 6 - 195 | N/A | No |
Maximum_of_Luminosity |
Luminosidad máxima del defecto | Numérico | 70 - 252 | N/A | No |
Length_of_Conveyer |
Longitud de la cinta transportadora | Numérico | 1,280 - 1,710 | mm | No |
Steel_Plate_Thickness |
Espesor de la placa de acero | Numérico | 40 - 300 | mm | No |
Edges_Index |
Índice de bordes del defecto | Numérico | 0 - 0.9835 | N/A | No |
Empty_Index |
Índice de vacío (proporción de espacio vacío) | Numérico | 0 - 0.8888 | N/A | No |
Square_Index |
Índice de cuadratura (qué tan cuadrado es el defecto) | Numérico | 0.0393 - 1 | N/A | No |
Outside_X_Index |
Índice de protrusión en dirección X | Numérico | 0.0015 - 0.6226 | N/A | No |
Edges_X_Index |
Índice de bordes en dirección X | Numérico | 0.0645 - 1 | N/A | No |
Edges_Y_Index |
Índice de bordes en dirección Y | Numérico | 0.1378 - 1 | N/A | No |
Outside_Global_Index |
Índice de protrusión global | Numérico | 0 - 1 | N/A | No |
LogOfAreas |
Logaritmo del área | Numérico | 0.301 - 43.532 | N/A | No |
Log_X_Index |
Logaritmo del índice X | Numérico | 0.301 - 29.335 | N/A | No |
Log_Y_Index |
Logaritmo del índice Y | Numérico | 0 - 26.181 | N/A | No |
Orientation_Index |
Índice de orientación del defecto | Numérico | -0.9604 - 0.9607 | N/A | No |
Luminosity_Index |
Índice de luminosidad relativa | Numérico | -0.5902 - 0.5916 | N/A | No |
SigmoidOfAreas |
Transformación sigmoidal del área | Numérico | 0.119 - 1 | N/A | No |
TypeOfSteel_A300 |
Tipo de acero A300 (aleación) | Binario | 0: No, 1: Sí | N/A | No |
TypeOfSteel_A400 |
Tipo de acero A400 (aleación) | Binario | 0: No, 1: Sí | N/A | No |
is_bump |
Defecto tipo "Bump" (Abolladura) - OBJETIVO | Binario | 0: Otros defectos, 1: Bump | 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 Defectos en Placas de Acero (Steel Plates Faults). Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados de inspección de calidad.
TypeOfSteel_A300 y TypeOfSteel_A400
Binario
| Código | Significado |
|---|---|
| 0 | No es de este tipo de acero |
| 1 | Es de este tipo de acero |
Exclusividad: Los tipos A300 y A400 son mutuamente excluyentes. Un registro no puede tener ambos valores = 1 simultáneamente.
is_bump
🎯 Objetivo
| Código | Significado |
|---|---|
| 0 | Otros Defectos - Pastry, Z_Scratch, K_Scratch, Stains, Dirtiness, Other_Faults (~79.3%) |
| 1 | Bumps (Abolladura) - Defecto tipo abolladura (~20.7%) |
Variable Objetivo: Detecta defectos tipo abolladura ("Bumps") frente a otros tipos de fallos superficiales.
Restricciones geométricas y matemáticas
X_Minimum < X_Maximum (coordenadas válidas)fieldYMin < fieldYMax (coordenadas válidas)Pixels_Areas ≤ (X_Max - X_Min) × (Y_Max - Y_Min) (área dentro del bounding box)LogOfAreas = log(Pixels_Areas)SigmoidOfAreas = transformación sigmoidal de Pixels_AreasSquare_Index relacionado con la compacidad del defectoLength_of_Conveyer: La mayoría de los valores son 1,280 o 1,710Steel_Plate_Thickness: Mayoría en 40 o 300Relaciones críticas: Un generador sintético que no capture estas relaciones producirá defectos físicamente imposibles.
TypeOfSteel_A300 y TypeOfSteel_A400 son mutuamente excluyentesX_Minimum ≥ 1700 → X_Maximum > 1700fieldYMin ≥ 100000 → fieldYMax > 100000Minimum_of_Luminosity > 150 → Maximum_of_Luminosity > 150Sum_of_Luminosity > 1000000 → Pixels_Areas > 3000Log_X_Index > 2.5 → (Orientation_Index > 0) OR (X_Perimeter > 0)Empty_Index < 0.1 → SigmoidOfAreas > 0.5Edges_Index < 0.2 → Edges_X_Index < 0.8is_bump == 1 → LogOfAreas < 5X_Perimeter < 5 → Log_X_Index < 1.5Pixels_Areas == 0 → LogOfAreas ≤ 0Steel_Plate_Thickness > 200 → (TypeOfSteel_A300 = 1) OR (TypeOfSteel_A400 = 1)Log_X_Index < 1 → LogOfAreas < 4Maximum_of_Luminosity == 255 → Luminosity_Index > -0.5Outside_Global_Index == 1 → Outside_X_Index ≥ 0| 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 | 950 | 0.867 | 0.816 | 0.815 | 4.884 | 0.172 | 0.148 | 0.075 | 0.960 | 67.220 | 0 | 950 | 0.485 | |
| Smote | 1 | 950 | 0.862 | 0.829 | 0.825 | 4.095 | 0.324 | 0.030 | 0.084 | 0.965 | 61.987 | 0.017 | 600 | 0.489 | |
| Borderline SMOTE | 1 | 950 | 0.884 | 0.838 | 0.835 | 7.364 | 0.321 | 0.064 | 0.087 | 0.963 | 59.033 | 0.016 | 600 | 0.444 | 🏆 |
| ADASYN | 1.017 | 942 | 0.870 | 0.838 | 0.835 | 6.330 | 0.322 | 0.104 | 0.082 | 0.968 | 59.791 | 0.017 | 600 | 0.483 | |
| SMOTE RSB* Adaptado | 1.267 | 850 | 0.865 | 0.810 | 0.805 | 3.205 | 0.285 | 0.153 | 0.053 | 0.975 | 57.798 | 0.018 | 600 | 0.472 | |
| SMOTE RSB* Adaptado + Reglas | 1.267 | 850 | 0.864 | 0.842 | 0.835 | 6.514 | 0.285 | 0.170 | 0.050 | 0.976 | 58.381 | 0.019 | 600 | 0.455 | |
| OOF PSO para Balanceo | 1 | 950 | 0.873 | 0.792 | 0.815 | 1.788 | 0.350 | 0.003 | 0.128 | 0.661 | 66.825 | 0.123 | 600 | 0.486 | |
| OOF PSO para Balanceo + Reglas | 1 | 950 | 0.876 | 0.812 | 0.825 | 3.401 | 0.350 | 0.000 | 0.128 | 0.635 | 66.430 | 0.106 | 600 | 0.475 |
| 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.003 | 7727 | 0.847 | 0.781 | 0.790 | 7.964 | 0.620 | 0.040 | 0.086 | 0.957 | 107.506 | 0.136 | 0 | 0.446 | |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 1.003 | 7727 | 0.843 | 0.802 | 0.810 | 8.196 | 0.620 | 0.040 | 0.089 | 0.957 | 310.499 | 0.136 | 0 | 0.448 | 🏆 |
| CTGAN | 1.393 | 10000 | 0.559 | 0.589 | 0.545 | 2.904 | 0.546 | 0.012 | 0.155 | 0.844 | 579.969 | 0.147 | 0 | 0.467 | |
| CTGAN + Reglas del Dominio | 1.393 | 10000 | 0.517 | 0.543 | 0.495 | 2.057 | 0.546 | 0.012 | 0.168 | 0.844 | 848.057 | 0.143 | 0 | 0.501 | |
| TVAE | 1.150 | 10000 | 0.852 | 0.834 | 0.830 | 7.320 | 0.685 | 0.005 | 0.076 | 0.928 | 424.898 | 0.075 | 0 | 0.490 | |
| TVAE + Reglas del Dominio | 1.150 | 10000 | 0.855 | 0.829 | 0.825 | 7.273 | 0.685 | 0.005 | 0.077 | 0.928 | 696.848 | 0.074 | 0 | 0.495 | |
| OOF PSO para Aumento | 1 | 10000 | 0.771 | 0.571 | 0.535 | 1.962 | 0.757 | 0.000 | 0.069 | 0.590 | 170.848 | 0.231 | 0 | 0.441 | |
| OOF PSO para Aumento + Reglas | 1 | 10000 | 0.772 | 0.534 | 0.500 | 1.509 | 0.757 | 0.000 | 0.069 | 0.590 | 424.554 | 0.231 | 0 | 0.473 | |
| SMOTE RSB* Refinado | 1.009 | 7509 | 0.845 | 0.786 | 0.790 | 7.120 | 0.633 | 0.007 | 0.090 | 0.960 | 109.586 | 0.102 | 0 | 0.444 | |
| SMOTE RSB* Refinado + Reglas | 1.009 | 7509 | 0.862 | 0.817 | 0.820 | 7.601 | 0.633 | 0.007 | 0.092 | 0.961 | 308.161 | 0.102 | 0 | 0.473 |
| 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.003 | 8677 | 0.850 | 0.823 | 0.830 | 6.843 | 0.577 | 0.038 | 0.086 | 0.958 | 212.188 | 0.134 | 0 | 0.482 | 🏆 |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 1.003 | 8677 | 0.862 | 0.810 | 0.815 | 6.550 | 0.577 | 0.038 | 0.089 | 0.958 | 417.901 | 0.134 | 0 | 0.473 | |
| CTGAN | 1.353 | 10950 | 0.842 | 0.808 | 0.800 | 3.157 | 0.514 | 0.021 | 0.148 | 0.851 | 721.059 | 0.133 | 120 | 0.482 | |
| CTGAN + Reglas del Dominio | 1.353 | 10950 | 0.842 | 0.803 | 0.795 | 2.687 | 0.514 | 0.021 | 0.160 | 0.852 | 990.520 | 0.129 | 120 | 0.492 | |
| TVAE | 1.136 | 10950 | 0.847 | 0.821 | 0.815 | 4.386 | 0.635 | 0.006 | 0.077 | 0.933 | 567.607 | 0.069 | 120 | 0.495 | |
| TVAE + Reglas del Dominio | 1.136 | 10950 | 0.849 | 0.801 | 0.795 | 2.398 | 0.635 | 0.006 | 0.078 | 0.933 | 840.977 | 0.068 | 120 | 0.508 | |
| OOF PSO para Aumento | 1 | 10950 | 0.857 | 0.812 | 0.805 | 2.897 | 0.693 | 0.000 | 0.070 | 0.606 | 304.567 | 0.210 | 120 | 0.460 | |
| OOF PSO para Aumento + Reglas | 1 | 10950 | 0.862 | 0.834 | 0.830 | 5.963 | 0.693 | 0.000 | 0.070 | 0.606 | 561.253 | 0.210 | 120 | 0.496 | |
| SMOTE RSB* Refinado | 1.008 | 8459 | 0.856 | 0.812 | 0.815 | 5.213 | 0.585 | 0.009 | 0.090 | 0.961 | 215.059 | 0.099 | 0 | 0.464 | |
| SMOTE RSB* Refinado + Reglas | 1.008 | 8459 | 0.855 | 0.796 | 0.805 | 3.738 | 0.585 | 0.009 | 0.092 | 0.961 | 413.079 | 0.099 | 0 | 0.461 |
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 Steel Plate Surface Defect Detection (Version 1). figshare. https://doi.org/10.6084/m9.figshare.32946674.v1