S05L08 – Solución de asignación y codificación OneHot – Parte 02

Preparación de Datos para el Aprendizaje Automático: Manejo de Valores Faltantes, Codificación y Equilibrio

Tabla de Contenidos

  1. Recapitulación: Fundamentos de la Codificación One-Hot
  2. Manejo de Valores Faltantes
  3. Abordando la Característica de Fecha
  4. Codificación One-Hot Revisitada
  5. Manejo de Datos Desequilibrados
  6. División de los Datos
  7. Escalado de Características
  8. Conclusión

Recapitulación: Fundamentos de la Codificación One-Hot

En nuestra sesión anterior, introdujimos la codificación one-hot, un método para convertir variables categóricas en un formato adecuado para los algoritmos de aprendizaje automático. Agregamos las declaraciones necesarias pero nos detuvimos para explorar más variables y contenido. Hoy, construiremos sobre esa base.

Manejo de Valores Faltantes

Identificación de Datos Faltantes

Antes de la codificación, es crucial asegurarse de que su conjunto de datos no contenga valores faltantes, lo que puede llevar a errores durante el entrenamiento del modelo. Utilizando pandas, podemos identificar valores faltantes de la siguiente manera:

Una suma de cero indica que no hay valores faltantes. Sin embargo, si ciertas columnas muestran valores diferentes de cero, esas columnas contienen datos faltantes que deben ser abordados.

Gestión de Datos Faltantes Numéricos y Categóricos

Hemos manejado con éxito los valores faltantes en columnas numéricas utilizando estrategias como la imputación de la media o la mediana. Sin embargo, las columnas categóricas (de texto) requieren un enfoque diferente. Para los datos categóricos, a menudo se utiliza el valor más frecuente para la imputación. Aquí se muestra cómo implementarlo:

Abordando la Característica de Fecha

Las fechas pueden ser complicadas ya que a menudo contienen valores únicos, lo que las hace menos útiles para la modelización predictiva. Incluir la fecha completa puede introducir una alta dimensionalidad y ralentizar su modelo sin agregar poder predictivo. Aquí hay algunas estrategias:

  1. Extracción de Características: Extraer componentes significativos como el día y el mes mientras se descarta el año.
  2. Codificación de Etiquetas: Asignar etiquetas numéricas a las fechas, pero tener precaución ya que esto puede introducir relaciones ordinales no deseadas.
  3. Codificación One-Hot: No se recomienda para fechas debido a la explosión en el número de características.

Dadas estas dificultades, la solución más directa es eliminar la característica de fecha por completo si no es esencial para su modelo:

En nuestro caso, basado en la descripción del conjunto de datos de «Rain Prediction in Australia» de Kaggle, también hemos excluido la variable risk_mm para un mejor rendimiento.

Codificación One-Hot Revisitada

Después de manejar los valores faltantes y eliminar características irrelevantes, procedemos con la codificación one-hot:

Como se esperaba, el número de columnas aumenta debido al proceso de codificación, expandiéndose de 23 a 115 en nuestro ejemplo.

Manejo de Datos Desequilibrados

Los conjuntos de datos desequilibrados pueden sesgar su modelo hacia la clase mayoritaria, reduciendo su capacidad para predecir con precisión la clase minoritaria. Aquí se explica cómo abordarlo:

  1. Comprobar el Desequilibrio:

    Si una clase supera significativamente a la otra (por ejemplo, 75% vs. 25%), es necesario el equilibrio.

  2. Reaumento de la Clase Minoritaria:
  3. Verificación:

División de los Datos

Con datos equilibrados, procedemos a dividirlos en conjuntos de entrenamiento y prueba:

Escalado de Características

Finalmente, estandarizamos las características para asegurar que cada una contribuya por igual al rendimiento del modelo:

Nota: Al tratar con matrices dispersas resultantes de la codificación one-hot, establecer with_mean=False en StandardScaler previene errores relacionados con el centrado.

Conclusión

El preprocesamiento de datos es tanto un arte como una ciencia, que requiere una toma de decisiones reflexiva para preparar su conjunto de datos de manera efectiva. Al manejar valores faltantes, codificar variables categóricas, gestionar características de fecha y equilibrar sus datos, establece una base sólida para construir modelos de aprendizaje automático robustos. Recuerde, la calidad de sus datos influye directamente en el rendimiento de sus modelos, por lo que debe invertir el tiempo y esfuerzo necesarios en estos pasos de preprocesamiento.

No dude en volver a visitar este cuaderno de Jupyter para una experiencia práctica, y no dude en ponerse en contacto si tiene alguna pregunta. ¡Feliz modelado!

Comparte tu aprecio