Dataset de ciberseguridad para la clasificación binaria de sitios web fraudulentos (Is_Phishing). Se compone de 30 características técnicas extraídas de la URL, código fuente y reputación de dominio, codificadas en una escala (-1: Phishing, 0: Sospechoso, 1: Legítimo).
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.91 | 0.89 | 0.90 | 111 |
| Clase 1 | 0.87 | 0.89 | 0.88 | 89 |
| Accuracy | 0.89 | |||
| Macro Avg | 0.89 | 0.89 | 0.89 | 200 |
| Weighted Avg | 0.89 | 0.89 | 0.89 | 200 |
| Clase | Precisión | Recall | F1-Score | Soporte |
|---|---|---|---|---|
| Clase 0 | 0.84 | 0.86 | 0.85 | 111 |
| Clase 1 | 0.82 | 0.80 | 0.81 | 89 |
| Accuracy | 0.83 ⬇ -0.06 | |||
| Macro Avg | 0.83 ⬇ -0.06 | 0.83 ⬇ -0.06 | 0.83 ⬇ -0.06 | 200 |
| Weighted Avg | 0.83 ⬇ -0.06 | 0.83 ⬇ -0.06 | 0.83 ⬇ -0.06 | 200 |
El conjunto de datos de Sitios Web de Phishing (Phishing Websites) fue recolectado principalmente de: PhishTank archive, MillerSmiles archive y operadores de búsqueda de Google. Uno de los desafíos enfrentados por la investigación fue la indisponibilidad de conjuntos de datos de entrenamiento confiables, un desafío que enfrenta cualquier investigador en el campo. Aunque se han publicado numerosos artículos sobre la predicción de sitios web de phishing, no se ha publicado públicamente ningún conjunto de datos de entrenamiento confiable, posiblemente porque no hay acuerdo en la literatura sobre las características definitivas que caracterizan a las páginas web de phishing. Este dataset aborda esta brecha al incluir características importantes que han demostrado ser sólidas y efectivas en la predicción de sitios web de phishing, además de proponer nuevas características.
El phishing es un tipo de ataque cibernético en el que los atacantes crean sitios web fraudulentos que imitan a sitios legítimos para engañar a los usuarios y robar información confidencial como credenciales de inicio de sesión, números de tarjetas de crédito y datos personales. Según el Anti-Phishing Working Group (APWG), el número de ataques de phishing ha aumentado significativamente en los últimos años, convirtiéndose en una de las amenazas cibernéticas más comunes y costosas.
Este dataset es importante porque:
El dataset contiene 11,055 instancias con 30 atributos (29 variables predictoras y 1 variable objetivo). Todas las características son de tipo entero y no presentan valores faltantes. Las características cubren aspectos como:
| Variable | Tipo | Descripción | Valores Típicos |
|---|---|---|---|
| A. Características de la URL y el Dominio | |||
| having_ip_address | Entero | ¿La URL contiene una dirección IP? | 1 = Sí, 0 = No |
| url_length | Entero | Longitud de la URL (categorizada) | - |
| shortining_service | Entero | ¿La URL utiliza un servicio de acortamiento? | 1 = Sí, 0 = No |
| having_at_symbol | Entero | ¿La URL contiene el símbolo '@'? | 1 = Sí, 0 = No |
| double_slash_redirecting | Entero | ¿La URL contiene redireccionamiento con doble barra? | 1 = Sí, 0 = No |
| prefix_suffix | Entero | ¿El dominio tiene prefijo o sufijo separado por '-'? | 1 = Sí, 0 = No |
| having_sub_domain | Entero | ¿La URL tiene subdominios? | - |
| sslfinal_state | Entero | Estado final del certificado SSL | - |
| domain_registration_length | Entero | Duración del registro del dominio | - |
| age_of_domain | Entero | Edad del dominio (tiempo desde el registro) | - |
| dnsrecord | Entero | Registros DNS del dominio | 1 = Válido, 0 = Inválido |
| web_traffic | Entero | Tráfico web del sitio | - |
| page_rank | Entero | Page Rank de Google | - |
| google_index | Entero | ¿El sitio está indexado en Google? | 1 = Sí, 0 = No |
| links_pointing_to_page | Entero | Número de enlaces que apuntan a la página | - |
| statistical_report | Entero | Informe estadístico del sitio | - |
| B. Características del Contenido | |||
| favicon | Entero | ¿El favicon está cargado desde un dominio externo? | 1 = Externo, 0 = Interno |
| request_url | Entero | ¿Los objetos de la página se cargan desde dominios externos? | - |
| url_of_anchor | Entero | ¿La URL de los anclajes es diferente del dominio? | - |
| links_in_tags | Entero | Enlaces en etiquetas HTML | - |
| sfh | Entero | Manipulación del campo "Server Form Handler" | - |
| submitting_to_email | Entero | ¿El formulario envía datos a una dirección de correo? | 1 = Sí, 0 = No |
| abnormal_url | Entero | ¿La URL es anormal? | 1 = Sí, 0 = No |
| C. Características de Comportamiento | |||
| redirect | Entero | ¿La página utiliza redireccionamientos? | 1 = Sí, 0 = No |
| on_mouseover | Entero | ¿La página tiene eventos on_mouseover? | 1 = Sí, 0 = No |
| rightclick | Entero | ¿El clic derecho está deshabilitado? | 1 = Sí, 0 = No |
| popupwindow | Entero | ¿La página utiliza ventanas emergentes? | 1 = Sí, 0 = No |
| iframe | Entero | ¿La página utiliza iframes? | 1 = Sí, 0 = No |
| D. Características de Seguridad | |||
| port | Entero | ¿El puerto utilizado es el predeterminado? | - |
| https_token | Entero | ¿La URL contiene la palabra 'https' en el dominio? | 1 = Sí, 0 = No |
| E. Variable Objetivo | |||
| result | Entero (Target) | Clasificación del sitio web | 1 = Legítimo, 0 = Phishing |
El artículo fundamental que describe la evaluación de características relacionadas con sitios web de phishing utilizando una técnica automatizada es:
Mohammad, R., Thabtah, F., & Mccluskey, L. (2012). An assessment of features related to phishing websites using an automated technique. 2012 International Conference for Internet Technology and Secured Transactions (ICITST), 492-497. https://doi.org/10.1109/ICITST.2012.6470846
El conjunto de datos contiene información sobre sitios web de phishing y legítimos, pero no incluye información personal identificable de los usuarios afectados por ataques de phishing. Los datos son anónimos y se utilizan exclusivamente para fines de investigación académica en ciberseguridad. 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 la seguridad de los sitios web analizados.
Este conjunto de datos es ampliamente utilizado para la detección de sitios web de phishing. Se recomienda:
El phishing es una de las amenazas cibernéticas más prevalentes y peligrosas. Según el Anti-Phishing Working Group (APWG):
Este dataset es fundamental para la investigación en detección de phishing, proporcionando una base de referencia para evaluar y comparar diferentes algoritmos de clasificación. La inclusión de características novedosas mejora la capacidad de los modelos para identificar sitios web de phishing que utilizan técnicas sofisticadas para evadir los sistemas de detección tradicionales.
Mohammad, R., Thabtah, F., & Mccluskey, L. (2012). An assessment of features related to phishing websites using an automated technique. In 2012 International Conference for Internet Technology and Secured Transactions (ICITST) (pp. 492-497). IEEE. https://doi.org/10.1109/ICITST.2012.6470846
📊 Resultado: Dataset de sitios web con 30 variables predictoras (características de URL, dominio, contenido y comportamiento) y 1 variable objetivo binaria (Is_Phishing). Desbalance moderado-preservado (~55% legítimos / ~45% phishing) — escenario ideal para validación de técnicas de generación de datos sintéticos y evaluación del índice TabDSFidelity en contextos de ciberseguridad y detección de amenazas, donde la identificación temprana de sitios maliciosos es fundamental y las características de la URL y el comportamiento del sitio son determinantes.
🔐 Fuente: Phishing Websites Dataset (UCI Machine Learning Repository) - Características extraídas de sitios web para detección de phishing.
🌐 Variables clave de URL: having_IP_Address, URL_Length, Shortining_Service, having_At_Symbol, double_slash_redirecting, Prefix_Suffix, having_Sub_Domain, SSLfinal_State, Domain_registeration_length.
📄 Variables de contenido/página: Favicon, port, HTTPS_token, Request_URL, URL_of_Anchor, Links_in_tags, SFH, Submitting_to_email, Abnormal_URL, Redirect, on_mouseover, RightClick, popUpWidnow, Iframe.
🌍 Variables de dominio y reputación: age_of_domain, DNSRecord, web_traffic, Page_Rank, Google_Index, Links_pointing_to_page, Statistical_report.
📁 Leyenda disponible: Archivo leyenda_phishing_websites.txt con mapeo semántico completo de todas las variables y su escala {-1, 0, 1}.
🎯 Variable objetivo: Is_Phishing (1 = Sitio fraudulento/Phishing, 0 = Sitio legítimo/seguro).
🧹 Limpieza aplicada: Lectura manual de ARFF, conversión de target de escala {-1, 1} a binario {1, 0}, documentación de escala de variables.
| Variable | Descripción | Tipo | Rango / Categorías | Unidad | ¿Objetivo? |
|---|---|---|---|---|---|
having_IP_Address |
Uso de dirección IP en lugar de nombre de dominio | Categórico | -1: Tiene IP, 1: No tiene IP | N/A | No |
URL_Length |
Longitud de la URL (caracteres) | Categórico | -1: ≥75, 0: 54-75, 1: <54 | N/A | No |
Shortining_Service |
Uso de servicios de acortamiento de URL | Categórico | -1: Usa acortador, 1: No usa | N/A | No |
having_At_Symbol |
Presencia del símbolo "@" en la URL | Categórico | -1: Tiene @, 1: No tiene | N/A | No |
double_slash_redirecting |
Presencia de "//" para redireccionar | Categórico | -1: // después de pos 7, 1: Normal | N/A | No |
Prefix_Suffix |
Uso de guion (-) en el nombre del dominio | Categórico | -1: Tiene guion, 1: No tiene | N/A | No |
having_Sub_Domain |
Número de subdominios (puntos en la URL) | Categórico | -1: Multi-subdominios, 0: Subdominio raro, 1: Normal | N/A | No |
SSLfinal_State |
Estado del certificado SSL/TLS | Categórico | -1: No HTTPS/Cert malo, 0: Dudoso, 1: Válido | N/A | No |
Domain_registeration_length |
Duración del registro del dominio | Categórico | -1: ≤1 año, 1: >1 año | N/A | No |
Favicon |
Carga del favicon desde el mismo dominio | Categórico | -1: Externo, 1: Mismo dominio | N/A | No |
port |
Estado de puertos no estándar | Categórico | -1: Puertos abiertos no std, 1: Puertos std | N/A | No |
HTTPS_token |
Token "https" en el nombre del dominio | Categórico | -1: Tiene token, 1: No tiene | N/A | No |
Request_URL |
Porcentaje de objetos externos en la página | Categórico | -1: >61% externos, 0: 22-61%, 1: <22% | N/A | No |
URL_of_Anchor |
Porcentaje de enlaces a dominios externos/nulos | Categórico | -1: >67%, 0: 31-67%, 1: <31% | N/A | No |
Links_in_tags |
Porcentaje de enlaces en tags externos | Categórico | -1: >81%, 0: 17-81%, 1: <17% | N/A | No |
SFH |
Server Form Handler (destino del formulario) | Categórico | -1: Vacío/Blank, 0: Otro dominio, 1: Mismo dominio | N/A | No |
Submitting_to_email |
Envío de datos mediante función de email | Categórico | -1: Usa mailto, 1: No usa | N/A | No |
Abnormal_URL |
Consistencia del host name con la URL | Categórico | -1: Inconsistente, 1: Consistente | N/A | No |
Redirect |
Número de redirecciones de la página | Categórico | -1: ≥4, 0: 2-3, 1: ≤1 | N/A | No |
on_mouseover |
Cambio de barra de estado con mouseover | Categórico | -1: Cambia barra, 1: No cambia | N/A | No |
RightClick |
Deshabilitación del clic derecho | Categórico | -1: Deshabilitado, 1: Habilitado | N/A | No |
popUpWidnow |
Ventanas emergentes que piden datos | Categórico | -1: Pide datos, 1: No pide | N/A | No |
Iframe |
Uso de iframe invisible | Categórico | -1: Usa iframe invisible, 1: No usa | N/A | No |
age_of_domain |
Edad del dominio (WHOIS) | Categórico | -1: <6 meses, 1: ≥6 meses | N/A | No |
DNSRecord |
Existencia de registro DNS válido | Categórico | -1: No encontrado, 1: Encontrado | N/A | No |
web_traffic |
Popularidad según ranking Alexa | Categórico | -1: Sin ranking, 0: >100k, 1: <100k | N/A | No |
Page_Rank |
PageRank de la página (importancia) | Categórico | -1: <0.2, 1: ≥0.2 | N/A | No |
Google_Index |
Indexación en Google | Categórico | -1: No indexada, 1: Indexada | N/A | No |
Links_pointing_to_page |
Número de backlinks (enlaces externos) | Categórico | -1: 0 enlaces, 0: 1-2, 1: >2 | N/A | No |
Statistical_report |
Presencia en listas negras de phishing | Categórico | -1: En lista negra, 1: Limpio | N/A | No |
Is_Phishing |
Clasificación de Phishing (objetivo) | Binario | 0: Legítimo, 1: Phishing | 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 Phishing. Comprender estas codificaciones es fundamental para la correcta interpretación de los resultados de seguridad web.
Interpretación: En general, -1 indica comportamiento sospechoso de phishing, 0 es ambiguo, 1 es legítimo.
Regla clave: Altos porcentajes de elementos externos (Request_URL, URL_of_Anchor, Links_in_tags) son señales de phishing.
Patrón de phishing: Múltiples redirecciones, pop-ups solicitando datos y iframes invisibles son tácticas comunes.
Interpretación: Dominios nuevos, sin DNS, sin ranking, sin PageRank y en listas negras son altamente sospechosos.
Is_Phishing
🎯 Objetivo
| Código | Significado |
|---|---|
| 0 | Legítimo - Sitio web seguro y confiable |
| 1 | Phishing - Sitio fraudulento (clase positiva) |
Variable Objetivo: Detecta sitios de phishing basado en 30 características heurísticas. La clase positiva (1) representa fraude.
Nota: La codificación original (-1 para phishing, 1 para legítimo) fue invertida para cumplir estándares de clasificación.
DNSRecord == -1 → web_traffic = -1 (Sin DNS → sin tráfico)DNSRecord == -1 → Google_Index = -1 (Sin DNS → sin indexación)Page_Rank == 1 → Google_Index = 1 (PageRank alto → indexado)web_traffic == 1 → Links_pointing_to_page ≠ -1 (Tráfico alto → enlaces)Shortining_Service == -1 → URL_Length = 1 (Acortador → URL corta)Shortining_Service == -1 → Abnormal_URL = -1 (Acortador → URL anómala)HTTPS_token == -1 → SSLf_S ≠ 1 (Sin HTTPS → SSL inválido)SSLf_S == 1 → port = 1 (SSL válido → puerto 443)SSLf_S == 1 → age_of_domain ≠ -1 (SSL válido → dominio maduro)Sub_to_e == -1 → SFH ≠ 1 (mailto: → SFH no legítimo)RightClick == -1 → Iframe = -1 (Desactivar clic → iframe oculto)Is_Phishing == 0 → h_IP_A = 1 (Legítimo → no IP como dominio)Is_Phishing == 0 → RightClick = 1 (Legítimo → clic derecho activo)Is_Phishing == 0 → popUpWidnow = 1 (Legítimo → sin popups)Is_Phishing == 0 → SFH = 1 (Legítimo → SFH válido)Is_Phishing == 0 → on_mouseover = 1 (Legítimo → barra de estado real)Is_Phishing == 0 → URL_of_Anchor ≠ -1 (Legítimo → enlaces al dominio)Favicon == -1 → Request_URL ≠ 1 (Favicon externo → requests externos)URL_of_Anchor == -1 → SFH ≠ 1 (Enlaces externos → SFH no legítimo)Statistical_report == -1 → Is_Phishing = 1 (Lista negra → phishing)Is_Phishing == 1 → (SSLf_S = -1) OR (Abnormal_URL = -1) OR (h_IP_A = -1) OR (SFH = -1)Is_Phishing == 0 → (SSLf_S = 1) OR (URL_of_Anchor = 1) OR (web_traffic = 1)having_Sub_Domain == -1 → URL_Length ≠ 1 (Subdominios → URL no corta)Prefix_Suffix == -1 → age_of_domain ≠ 1 (Guion en dominio → dominio joven)double_slash_redirecting == -1 → Abnormal_URL = -1 (Redirección → URL anómala)| 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 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Smote | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Borderline SMOTE | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| ADASYN | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| SMOTE RSB* Adaptado | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| SMOTE RSB* Adaptado + Reglas | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| OOF PSO para Balanceo | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| OOF PSO para Balanceo + Reglas | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 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.227 | 3000 | 0.480 | 0.483 | 0.560 | 1.782 | - | - | 0.211 | 0.874 | 47.024 | 0.313 | 0 | 0.550 | |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 2.727 | 3000 | 0.795 | 0.425 | 0.505 | 2.235 | - | - | 0.294 | 0.860 | 126.754 | 0.306 | 0 | 0.488 | |
| CTGAN | 1.062 | 9370 | 0.913 | 0.865 | 0.865 | 7.491 | - | - | 0.036 | 0.937 | 439.530 | 0.139 | 0 | 0.481 | 🏆 |
| CTGAN + Reglas del Dominio | 1.190 | 9370 | 0.760 | 0.391 | 0.485 | 2.880 | - | - | 0.063 | 0.892 | 522.199 | 0.153 | 2 | 0.446 | |
| TVAE | 1.186 | 2542 | 0.927 | 0.804 | 0.805 | 6.819 | - | - | 0.069 | 0.919 | 270.011 | 0.102 | 0 | 0.473 | |
| TVAE + Reglas del Dominio | 1.440 | 2542 | 0.843 | 0.430 | 0.520 | 3.371 | - | - | 0.092 | 0.876 | 351.974 | 0.130 | 32 | 0.459 | |
| OOF PSO para Aumento | 1 | 10000 | 0.962 | 0.900 | 0.900 | 6.370 | - | - | 0.194 | 0.682 | 83.425 | 0.099 | 41 | 0.456 | |
| OOF PSO para Aumento + Reglas | 7.658 | 10000 | 0.913 | 0.757 | 0.760 | 4.740 | - | - | 0.274 | 0.695 | 166.527 | 0.165 | 7 | 0.433 | |
| SMOTE RSB* Refinado | 1 | 3000 | 0.513 | 0.532 | 0.555 | 2.081 | - | - | 0.212 | 0.873 | 45.031 | 0.315 | 0 | 0.582 | |
| SMOTE RSB* Refinado + Reglas | 2.802 | 3000 | 0.787 | 0.397 | 0.485 | 1.996 | - | - | 0.294 | 0.861 | 125.728 | 0.308 | 0 | 0.490 |
| 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.235 | 4000 | 1.000 | 0.995 | 0.995 | 7.215 | - | - | 0.127 | 0.895 | 88.360 | 0.236 | 496 | 0.445 | |
| SMOTE RSB* + Ruido Gaussiano + Reglas | 1.937 | 4000 | 1.000 | 0.995 | 0.995 | 6.930 | - | - | 0.162 | 0.870 | 166.735 | 0.230 | 496 | 0.425 | |
| CTGAN | 1.079 | 10370 | 1.000 | 0.995 | 0.995 | 7.975 | - | - | 0.029 | 0.943 | 481.431 | 0.123 | 205 | 0.460 | 🏆 |
| CTGAN + Reglas del Dominio | 1.144 | 10370 | 1.000 | 0.995 | 0.995 | 5.679 | - | - | 0.051 | 0.902 | 564.484 | 0.134 | 212 | 0.424 | |
| TVAE | 1.059 | 3542 | 1.000 | 0.990 | 0.990 | 3.002 | - | - | 0.025 | 0.942 | 312.185 | 0.073 | 567 | 0.439 | |
| TVAE + Reglas del Dominio | 1.215 | 3542 | 1.000 | 0.990 | 0.990 | 1.786 | - | - | 0.036 | 0.907 | 391.694 | 0.093 | 588 | 0.421 | |
| OOF PSO para Aumento | 1.021 | 11000 | 1.000 | 0.995 | 0.995 | 6.259 | - | - | 0.155 | 0.710 | 125.085 | 0.089 | 231 | 0.440 | |
| OOF PSO para Aumento + Reglas | 5.425 | 11000 | 1.000 | 0.995 | 0.995 | 6.055 | - | - | 0.215 | 0.723 | 208.670 | 0.148 | 190 | 0.422 | |
| SMOTE RSB* Refinado | 1.059 | 4000 | 1.000 | 0.995 | 0.995 | 7.210 | - | - | 0.128 | 0.895 | 86.317 | 0.237 | 496 | 0.431 | |
| SMOTE RSB* Refinado + Reglas | 1.972 | 4000 | 1.000 | 0.995 | 0.995 | 5.942 | - | - | 0.162 | 0.872 | 165.317 | 0.232 | 496 | 0.423 |
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 Phishing Websites Detection (Version 0). figshare. https://doi.org/10.6084/m9.figshare.32945891