Cómo elegir los métodos de preparación de datos para el aprendizaje automático

La preparación de los datos es una parte importante de un proyecto de modelización predictiva.

La correcta aplicación de la preparación de los datos transformará los datos en bruto en una representación que permita a los algoritmos de aprendizaje aprovechar al máximo los datos y hacer predicciones hábiles. El problema es que elegir una transformación o secuencia de transformaciones que resulte en una representación útil es muy difícil. Tanto es así que puede ser considerado más como un arte que como una ciencia.

En este tutorial, descubrirá estrategias que puede utilizar para seleccionar técnicas de preparación de datos para sus conjuntos de datos de modelado predictivo.

Después de completar este tutorial, lo sabrás:


Recomendado: ¿Qué es el Big data?.


  • Las técnicas de preparación de datos pueden elegirse basándose en un conocimiento detallado del conjunto de datos y del algoritmo, y éste es el enfoque más común.
  • Las técnicas de preparación de datos se pueden buscar en la red como otro hiperparámetro más en el proceso de modelización.
  • Las transformaciones de datos pueden aplicarse a un conjunto de datos de entrenamiento en paralelo para crear muchas características extraídas sobre las que se puede aplicar la selección de características y entrenar un modelo.

Descubre la limpieza de datos, la selección de características, la transformación de datos, la reducción de la dimensionalidad y mucho más en mi nuevo libro, con 30 tutoriales paso a paso y el código fuente completo en Python.

Empecemos.

Cómo elegir los métodos de preparación de datos para el aprendizaje automático

Cómo elegir los métodos de preparación de datos para el aprendizaje automático

Resumen del Tutorial

Este tutorial está dividido en cuatro partes; son:

  1. Estrategias para la elección de técnicas de preparación de datos
  2. Enfoque 1: Especificar manualmente la preparación de los datos
  3. Enfoque 2: Métodos de preparación de datos de búsqueda de cuadrículas
  4. Enfoque 3: Aplicar los métodos de preparación de datos en paralelo

Estrategias para la elección de técnicas de preparación de datos

El rendimiento de un modelo de aprendizaje de una máquina es sólo tan bueno como los datos utilizados para entrenarlo.

Esto supone una pesada carga para los datos y las técnicas utilizadas para prepararlos para el modelado.

La preparación de datos se refiere a las técnicas utilizadas para transformar los datos en bruto en una forma que satisfaga mejor las expectativas o requisitos de un algoritmo de aprendizaje automático.

Es un desafío porque no podemos conocer una representación de los datos en bruto que dé lugar a un buen o mejor rendimiento de un modelo de predicción.

Sin embargo, a menudo no sabemos cuál es la mejor representación de los predictores para mejorar el rendimiento del modelo. En cambio, la reelaboración de los predictores es más bien un arte, que requiere las herramientas adecuadas y la experiencia para encontrar mejores representaciones de los predictores. Además, es posible que necesitemos buscar muchas representaciones alternativas de los predictores para mejorar el rendimiento del modelo.

– Página xii, Ingeniería y selección de características, 2019.

En cambio, debemos utilizar experimentos controlados para evaluar sistemáticamente las transformaciones de datos en un modelo para descubrir qué es lo que funciona bien o mejor.

Como tal, en un proyecto de modelización predictiva, hay tres estrategias principales que podemos decidir utilizar para seleccionar una técnica de preparación de datos o secuencias de técnicas para un conjunto de datos; son:

  1. Especificar manualmente la preparación de los datos que se utilizarán para un determinado algoritmo basándose en el conocimiento profundo de los datos y del algoritmo elegido.
  2. Pruebe un conjunto de diferentes transformaciones de datos y secuencias de transformaciones y descubra lo que funciona bien o mejor en el conjunto de datos para uno o varios modelos.
  3. Aplicar un conjunto de transformaciones de datos en paralelo para crear un gran número de características de ingeniería que pueden ser reducidas usando la selección de características y utilizadas para entrenar modelos.

Veamos más de cerca cada uno de estos enfoques por separado.

 

¿Quieres empezar a preparar los datos?

Toma mi curso intensivo gratuito de 7 días por correo electrónico ahora (con código de muestra).

Haga clic para inscribirse y también para obtener una versión gratuita del curso en formato PDF.

Descargue su minicurso GRATUITO

 

Enfoque 1: Especificar manualmente la preparación de los datos

Este enfoque implica el estudio de los datos y los requisitos de los algoritmos específicos y la selección de las transformaciones de datos que cambian sus datos para cumplir mejor con los requisitos.

Muchos profesionales consideran que éste es el único enfoque posible para seleccionar las técnicas de preparación de datos, ya que suele ser el único enfoque que se enseña o describe en los libros de texto.

Este enfoque podría consistir en seleccionar primero un algoritmo y preparar los datos específicamente para él, o en probar un conjunto de algoritmos y asegurarse de que los métodos de preparación de datos se adapten a cada algoritmo.

Este enfoque requiere tener un conocimiento detallado de sus datos. Esto puede lograrse revisando las estadísticas resumidas de cada variable, los gráficos de las distribuciones de datos y posiblemente incluso las pruebas estadísticas para ver si los datos coinciden con una distribución conocida.

Este enfoque también requiere un conocimiento detallado de los algoritmos que va a utilizar. Esto se puede lograr revisando los libros de texto que describen los algoritmos.

Desde un alto nivel, los requisitos de datos de la mayoría de los algoritmos son bien conocidos.

Por ejemplo, los siguientes algoritmos probablemente serán sensibles a la escala y distribución de sus variables de entrada numéricas, así como a la presencia de variables irrelevantes y redundantes:

  • Regresión lineal (y extensiones)
  • Regresión logística
  • Análisis discriminante lineal
  • El ingenuo gaussiano Bayes
  • Redes neuronales
  • Máquinas vectoriales de apoyo
  • k-Vecinos más cercanos

Los siguientes algoritmos probablemente no serán sensibles a la escala y distribución de sus variables de entrada numéricas y son razonablemente insensibles a las variables irrelevantes y redundantes:

  • Árbol de decisión
  • AdaBoost
  • Árboles de decisión embolsados
  • Bosque al azar
  • Impulso de gradiente

El beneficio de este enfoque es que le da cierta confianza de que sus datos se han adaptado a las expectativas y requisitos de los algoritmos específicos. Esto puede resultar en un buen o incluso gran rendimiento.

El inconveniente es que puede ser un proceso lento que requiere mucho análisis, experiencia y, potencialmente, investigación. También puede dar lugar a una falsa sensación de confianza en que ya se han obtenido buenos o mejores resultados y que no es posible ninguna o poca mejora adicional.

Enfoque 2: Métodos de preparación de datos de búsqueda de cuadrículas

Este enfoque reconoce que los algoritmos pueden tener expectativas y requisitos, y asegura que se creen transformaciones del conjunto de datos para cumplir esos requisitos, aunque no supone que el cumplimiento de los mismos se traduzca en el mejor rendimiento.

Deja la puerta abierta a soluciones no obvias y poco intuitivas.

Esto podría ser una transformación de datos que «no debería funcionar«o»no debería ser apropiado para el algoritmo«, sin embargo, resulta en un buen o gran rendimiento. Alternativamente, puede ser la ausencia de una transformación de datos para una variable de entrada que se considere «absolutamente necesario«, sin embargo, resulta en un buen o gran rendimiento.

Esto puede lograrse diseñando una búsqueda en cuadrícula de las técnicas de preparación de datos y/o secuencias de técnicas de preparación de datos en tuberías. Esto puede implicar la evaluación de cada una de ellas en un único algoritmo de aprendizaje de máquina elegido, o en un conjunto de algoritmos de aprendizaje de máquina.

El resultado será un gran número de resultados que indicarán claramente las transformaciones de los datos, las secuencias de transformación y/o las transformaciones acopladas a los modelos que den lugar a un buen o mejor rendimiento del conjunto de datos.

Éstos podrían utilizarse directamente, aunque lo más probable es que sirvan de base para una investigación más a fondo mediante la puesta a punto de transformaciones de datos e hiperparámetros de modelos para aprovechar al máximo los métodos, y los estudios ablativos para confirmar todos los elementos de un proceso de modelización contribuyen a las hábiles predicciones.

Generalmente yo mismo utilizo este enfoque y lo defiendo para los principiantes o profesionales que buscan lograr buenos resultados en un proyecto rápidamente.

El beneficio de este enfoque es que siempre da lugar a sugerencias de modelización de tuberías que dan buenos resultados relativos. Lo más importante es que puede desenterrar las soluciones no obvias y poco intuitivas para los profesionales sin necesidad de una profunda pericia.

La desventaja es la necesidad de cierta aptitud para la programación para implementar la búsqueda de la cuadrícula y el costo computacional adicional de evaluar muchas técnicas diferentes de preparación de datos y tuberías.

Enfoque 3: Aplicar los métodos de preparación de datos en paralelo

Al igual que el enfoque anterior, con este enfoque se supone que los algoritmos tienen expectativas y requisitos, y también permite encontrar buenas soluciones que violan esas expectativas, aunque va un paso más allá.

Este enfoque también reconoce que un modelo que se ajusta a múltiples perspectivas sobre los mismos datos puede ser beneficioso sobre un modelo que se ajusta a una sola perspectiva de los datos.

Esto se logra realizando múltiples transformaciones de datos en el conjunto de datos en bruto en paralelo, y luego reuniendo los resultados de todas las transformaciones en un gran conjunto de datos con cientos o incluso miles de características de entrada (por ejemplo, la clase FeatureUnion en scikit-learn puede utilizarse para lograr esto). Permite que se utilicen en paralelo las buenas características de entrada encontradas en diferentes transformaciones.

El número de características de entrada puede explotar dramáticamente por cada transformación que se utilice. Por lo tanto, es bueno combinar este enfoque con un método de selección de características para seleccionar un subconjunto de las características más relevantes para la variable objetivo. Una vez más, esto puede implicar la aplicación de una, dos o más técnicas diferentes de selección de características para proporcionar un subconjunto mayor que el normal de características útiles.

Alternativamente, puede utilizarse una técnica de reducción de la dimensionalidad (por ejemplo, PCA) en las características generadas, o un algoritmo que realice la selección automática de características (por ejemplo, bosque aleatorio) puede entrenarse directamente en las características generadas.

Me gusta pensar en ello como un enfoque explícito de ingeniería de características en el que generamos todas las características que se nos ocurren a partir de los datos en bruto, desempaquetando las distribuciones y relaciones en los datos. Luego seleccionamos un subconjunto de las características más relevantes y ajustamos el modelo. Dado que estamos utilizando explícitamente transformaciones de datos para descomponer la complejidad del problema en características paralelas, puede permitir el uso de un modelo predictivo mucho más simple, como un modelo lineal con una fuerte penalización para ayudar a ignorar las características menos útiles.

Una variación de este enfoque consistiría en ajustar un modelo diferente en cada transformación del conjunto de datos en bruto y utilizar un modelo de conjunto para combinar las predicciones de cada uno de los modelos.

Una ventaja de este enfoque general es que permite que un modelo aproveche múltiples perspectivas o puntos de vista diferentes sobre los mismos datos en bruto, una característica de la que carecen los otros dos enfoques examinados anteriormente. Esto puede permitir que se exprima una habilidad de predicción adicional del conjunto de datos.

Una desventaja de este enfoque es el aumento del costo de los cálculos y la cuidadosa elección de la técnica de selección de características y/o el modelo utilizado para interpretar un número tan grande de características de entrada.