Si estuviéramos prestando atención en el Paso 1 (tal vez ya lo hayas descubierto), nuestra clase objetivo, Outcome
, está desequilibrado. Quizás no en el punto de activar una advertencia en la configuración predeterminada (el umbral predeterminado es 0.5
), pero lo suficiente como para seguir sesgando el clasificador hacia la clase mayoritaria, descuidando la clase minoritaria. Esto se desprende claramente de la visualización de datos presentada en el Informe de elaboración de perfiles:
Tenga en cuenta que, si bien los datos faltantes pueden deberse a varios errores durante la recopilación, transmisión o almacenamiento de datos, El desequilibrio de clases puede reflejar una característica natural del dominio.: por ejemplo, simplemente hay menos pacientes diagnosticados con diabetes en este centro médico.
Sin embargo, sigue siendo importante actuar sobre los datos de entrenamiento para garantizar que el modelo no pase por alto los casos minoritarios: de hecho, eso es lo que estamos tratando de predecir con mayor precisión.
Un falso positivo es malo ya que le dará información incorrecta a una paciente sana que tiene diabetes. Pero cuando se hagan pruebas adicionales, esto será sólo un “susto”.
Sin embargo, en este caso, un falso negativo es peor. Le estaríamos diciendo a una paciente con diabetes que todo está bien, pasa sin ser diagnosticada y la enfermedad avanza.
Una forma de aumentar estos números es mediante el uso de técnicas de sobremuestreo de datos. El sobremuestreo de datos es una técnica popular entre los profesionales de datos para ajustar las distribuciones de un conjunto de datos (es decir, la relación entre las clases o categorías existentes en los datos), mitigando así el problema de los datos desequilibrados.
Y es sólo una de las muchas aplicaciones interesantes y útiles de Synthetic Data.
Mientras Los datos sintéticos pueden tener varias interpretaciones. (por ejemplo, “datos falsos”, “datos ficticios”, “datos simulados”), aquí nos referimos a la generación de datos sintéticos “basada en datos”.
En ese sentido, los datos sintéticos se generan artificialmente y preservan las características de los datos reales: su estructura, propiedades estadísticas, dependencias y correlaciones.
Existe una gran cantidad de métodos y herramientas de código abierto para generar datos sintéticos: ydata-synthetic
, sdv
, gretel-synthetics
, nbsynthetic
y synthcity
son sólo algunos con los que he experimentado en el pasado.
Y de nuevo… “no hay almuerzo gratis”: elegir el método más apropiado dependerá invariablemente del objetivo para el cual se necesitan los datos sintéticos.
Para comprender rápidamente cómo se pueden utilizar los datos sintéticos para el aumento, aprovecharemos el ydata-synthetic
paquete y experimentar con sus Modelos de mezcla gaussiana.
Primero, necesitaremos instalar el paquete:
Y una vez hecho esto, crear datos sintéticos es muy sencillo:
Una vez que tengamos nuestros datos sintéticos, podemos simplemente tomar un subconjunto de las muestras de clases minoritarias recién generadas mediante muestreo de los datos sintéticos y agregarlo a los datos de entrenamiento para crear una distribución equilibrada (es decir, 50% -50%). :
Veamos cómo eso impacta el aprendizaje de nuestro árbol de decisiones y sus resultados posteriores:
Y la matriz de confusión:
Observe cómo una modificación tan simple de nuestro conjunto de entrenamiento resultó en un aumento del rendimiento de nuestra puntuación F en un 10% y una mejora significativa de los resultados de sensibilidad a las clases minoritarias (del 53% al 73%).
Aquí reside la belleza del paradigma de la IA centrada en datos: sin siquiera tocar la parametrización de nuestro modelo, hemos mejorado significativamente la calidad de nuestro conjunto de entrenamiento con heurísticas muy simples y técnicas estándar. — ¡Imagínese lo que podríamos hacer con estrategias más avanzadas y canales de preparación de datos especializados!
Claro, el retiro de la clase 0 sufrió un poco, pero en última instancia, necesitamos Este modelo es más sensible que específico. (es decir, detectar mejor la clase positiva que la clase negativa) debido a las limitaciones particulares con las que estamos tratando: diagnóstico de enfermedades — nuevamente, Otro principio de la IA centrada en datos: los métodos y resultados deben evaluarse en función de las necesidades y limitaciones del dominio.