Saltar al contenido

Ingeniería y selección de características (Reseña del libro)

6 de julio de 2020

La preparación de datos es el proceso de transformar los datos en bruto en algoritmos de aprendizaje.

En algunos casos, la preparación de los datos es un paso necesario para proporcionar los datos a un algoritmo en su formato de entrada requerido. En otros casos, se desconoce la representación más apropiada de los datos de entrada y debe explorarse de manera experimental para descubrir qué es lo que mejor funciona para un determinado modelo y conjunto de datos.

Max Kuhn y Kjell Johnson han escrito un nuevo libro centrado en este importante tema de la preparación de datos y en cómo sacar el máximo provecho de sus datos en un proyecto de modelado predictivo con algoritmos de aprendizaje de máquinas. El título del libro es «Ingeniería y selección de características: Un enfoque práctico para los modelos de predicción«y fue lanzado en 2019.

En este post, descubrirán mi reseña y desglose del libro «Ingeniería y selección de características«sobre el tema de la preparación de datos para el aprendizaje de las máquinas.

¡Vamos a sumergirnos!

Visión general

Este tutorial está dividido en tres partes; son:

  1. Ingeniería y selección de características
  2. Desglose del libro
  3. Pensamientos finales sobre el libro

Ingeniería y selección de características

«Ingeniería y selección de características»: A Practical Approach for Predictive Models» es un libro escrito por Max Kuhn y Kjell Johnson y publicado en 2019.

Kuhn y Johnson son los autores de uno de mis libros favoritos sobre el aprendizaje práctico de las máquinas, titulado «Applied Predictive Modeling», publicado en 2013. Y Kuhn también es el autor del popular paquete de caret R para el aprendizaje de la máquina. Como tal, cualquier libro que publiquen, lo compraré y devoraré inmediatamente.

Este nuevo libro se centra en el problema de la preparación de datos para el aprendizaje de la máquina.

Los autores destacan que, aunque el ajuste y la evaluación de los modelos es rutinario, el logro de un buen rendimiento para un problema de modelización predictiva depende en gran medida de la forma en que se preparen los datos.

A pesar de nuestros intentos de seguir estas buenas prácticas, a veces nos frustramos al ver que los mejores modelos tienen un rendimiento predictivo útil menos que el esperado y menos útil. Esta falta de rendimiento puede deberse a […] Los predictores relevantes que se recogieron se representan de forma que los modelos tienen problemas para conseguir un buen rendimiento.

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

Se refieren al proceso de preparación de datos para el modelado como «ingeniería de características.”

Esta es una definición ligeramente diferente a la que estoy acostumbrado. Yo la llamaría «preparación de datos«o»preprocesamiento de datos«y aguantar»ingeniería de características» aparte como una subtarea enfocada en pasos sistemáticos para crear nuevas variables de entrada a partir de datos existentes.

Sin embargo, veo de dónde vienen, ya que toda la preparación de datos podría encajar en esa definición.

El ajuste y la reelaboración de los predictores para permitir que los modelos descubran mejor las relaciones entre predictor y respuesta se ha denominado ingeniería de características.

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

Motivan el libro señalando que no podemos conocer la representación de datos más apropiada para utilizarla con el fin de lograr el mejor rendimiento de modelado predictivo.

Que tal vez necesitemos probar sistemáticamente un conjunto de representaciones para descubrir qué es lo que mejor funciona. Esto coincide con el enfoque empírico que recomiendo en general, que rara vez se discute, aunque es reconfortante ver en un libro de texto.

…a menudo no sabemos cuál es la mejor representación de los predictores para mejorar el rendimiento del modelo. […] es posible que tengamos que buscar muchas representaciones alternativas de predicción para mejorar el rendimiento del modelo.

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

Dada la importancia de la preparación de datos para lograr un buen rendimiento en un conjunto de datos, el libro se centra en destacar las técnicas específicas de preparación de datos y cómo utilizarlas.

Los objetivos de la ingeniería y selección de características son proporcionar herramientas para volver a representar los predictores, situar estas herramientas en el contexto de un buen marco de modelización predictiva y transmitir nuestra experiencia en la utilización de estas herramientas en la práctica.

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

Como en su libro anterior, todos los ejemplos trabajados están en R, y en este caso, el código fuente está disponible en el proyecto GitHub del libro.

Además, a diferencia del libro anterior, el contenido completo del libro también está disponible gratuitamente en línea:

A continuación, veamos más de cerca los temas que cubre el libro.

Desglose del libro

El libro está dividido en 12 capítulos

Lo son:

  • Capítulo 1. Introducción
  • Capítulo 2. Ejemplo ilustrativo: Predicción del riesgo de accidente cerebrovascular isquémico
  • Capítulo 3. Una revisión del proceso de modelación predictiva
  • Capítulo 4. Visualizaciones exploratorias
  • Capítulo 5. Codificación de predictores categóricos
  • Capítulo 6. Predicciones numéricas de ingeniería
  • Capítulo 7. Detección de los efectos de la interacción
  • Capítulo 8. Manejo de los datos que faltan
  • Capítulo 9. Trabajando con los datos del perfil
  • Capítulo 10. Resumen de la selección de características
  • Capítulo 11. Métodos de búsqueda codiciosos
  • Capítulo 12. Métodos de búsqueda global
Recomendado:  Nano Interactive lanza una poderosa solución de puntaje de privacidad para ayudar a las marcas a dirigirse, en vivo, en el mundo post-cocina

Echemos un vistazo más de cerca a cada capítulo.

Capítulo 1. Introducción

El capítulo introductorio ofrece una buena visión general del desafío de la modelización predictiva.

Comienza destacando la importante distinción entre los modelos descriptivos y predictivos.

… la predicción de un valor particular (como la hora de llegada) refleja un problema de estimación en el que nuestro objetivo no es necesariamente entender si una tendencia o un hecho es genuino, sino que se centra en tener la determinación más precisa de ese valor. La incertidumbre en la predicción es otra cantidad importante, especialmente para medir la fiabilidad del valor generado por el modelo.

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

Es importante destacar que el capítulo hace hincapié en la necesidad de preparar los datos a fin de aprovechar al máximo un modelo de predicción en un proyecto.

La idea de que hay diferentes maneras de representar los predictores en un modelo, y que algunas de estas representaciones son mejores que otras, conduce a la idea de la ingeniería de características, es decir, el proceso de crear representaciones de datos que aumentan la eficacia de un modelo.

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

A modo de introducción, se cubren una serie de temas fundamentales con los que probablemente ya deberías estar familiarizado, entre ellos:

  • Sobrecarga
  • Procedimientos supervisados y no supervisados
  • No hay almuerzo gratis
  • El modelo contra el proceso de modelación
  • Sesgo y variación del modelo
  • Modelos basados en la experiencia y modelos empíricos
  • Big Data

Me gusta mucho que señalen la naturaleza iterativa del proceso de modelado predictivo. Que no se trata de un simple paso a través de los datos como se discute a menudo en otros lugares.

Cuando se modelan los datos, casi nunca hay un solo ajuste de modelo o conjunto de características que resuelva inmediatamente el problema. Es más probable que el proceso sea una campaña de prueba y error para lograr los mejores resultados.

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

También me gusta mucho que martilleen hasta qué punto la representación elegida de los datos de entrada afecta al rendimiento de un modelo y no podemos adivinar hasta qué punto una representación dada permitirá que un modelo funcione.

El efecto de los conjuntos de características puede ser mucho mayor que el efecto de los diferentes modelos. La interacción entre los modelos y los rasgos es compleja y algo impredecible.

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

Capítulo 2. Ejemplo ilustrativo: Predicción del riesgo de accidente cerebrovascular isquémico

Como su nombre indica, este capítulo tiene por objeto concretar el proceso de modelización predictiva con un ejemplo práctico.

Como introducción a la ingeniería de características, se presenta un ejemplo abreviado con un proceso de modelado […] A modo de ilustración, este ejemplo se centrará en la exploración, el ajuste del análisis y la ingeniería de las características, a través de la lente de un único modelo (regresión logística).

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

Capítulo 3. Una revisión del proceso de modelación predictiva

En el presente capítulo se examina el proceso de elaboración de modelos de predicción centrándose en cómo y dónde encaja la preparación de los datos en el proceso.

Cubre preocupaciones tales como:

  • Medición del rendimiento
  • División de datos
  • Remuestreo
  • Parámetros de sintonía y sobreajuste
  • Optimización y ajuste del modelo
  • Comparación de modelos usando el set de entrenamiento
  • Ingeniería de características sin sobrecarga

Lo importante que se desprende de este capítulo es que la aplicación de la preparación de datos en el proceso es fundamental, ya que una aplicación incorrecta puede dar lugar a la fuga de datos y a la sobrecarga.

Para que cualquier esquema de remuestreo produzca estimaciones de rendimiento que se generalizan a nuevos datos, debe contener todos los pasos del proceso de modelación que puedan afectar significativamente a la eficacia del modelo.

– Páginas 54-55, «Ingeniería y selección de características», 2019.

La solución es ajustar la preparación de los datos sólo en el conjunto de datos de entrenamiento, y luego aplicar las transformaciones de ajuste en el conjunto de pruebas y otros conjuntos de datos según sea necesario. Esta es una mejor práctica en el modelado predictivo cuando se utilizan divisiones de tren/prueba y validación cruzada de pliegue k.

Para proporcionar una metodología sólida, deberíamos limitarnos a elaborar la lista de técnicas de preprocesamiento, estimarlas sólo en presencia de los puntos de datos de capacitación, y luego aplicar las técnicas a los datos futuros (incluido el conjunto de pruebas).

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

Recomendado:  Análisis discriminante lineal con pitón

Capítulo 4. Visualizaciones exploratorias

El presente capítulo se centra en un paso importante que hay que dar antes de la preparación de los datos, a saber, examinarlos detenidamente.

Los autores sugieren que se utilicen técnicas de visualización de datos para comprender primero la variable objetivo que se está pronosticando y luego centrarse en las variables de entrada. Esta información puede utilizarse luego para informar los tipos de métodos de preparación de datos a explorar.

Uno de los primeros pasos del proceso de datos exploratorios cuando el propósito final es predecir una respuesta, es crear visualizaciones que ayuden a elucidar el conocimiento de la respuesta y luego descubrir las relaciones entre los pronosticadores y la respuesta.

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

Capítulo 5. Codificación de predictores categóricos

El presente capítulo se centra en las representaciones alternativas de las variables categóricas que resumen la información cualitativa.

Los predictores categóricos o nominales son los que contienen datos cualitativos

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

Las variables categóricas pueden tener una relación de orden de rango (ordinal) o no tener tal relación (nominal).

Las variables categóricas simples también pueden clasificarse como ordenadas o no ordenadas. […] Los factores ordenados y no ordenados podrían requerir diferentes enfoques para incluir la información incorporada en un modelo.

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

Esto incluye técnicas como variables falsas, hashing y embebidas.

Capítulo 6. Predicciones numéricas de ingeniería

El presente capítulo se centra en las representaciones alternativas de las variables numéricas que resumen la información cuantitativa.

El objetivo de este capítulo es desarrollar herramientas para convertir estos tipos de predictores en una forma que un modelo pueda utilizar mejor.

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

Hay muchos problemas bien entendidos que podemos observar con las variables numéricas como:

  • Las variables tienen diferentes escalas.
  • Distribuciones de probabilidad sesgadas.
  • Valores atípicos o extremos.
  • Distribución bimodal.
  • Interrelaciones complejas.
  • Información redundante.

Curiosamente, los autores representan un conjunto de técnicas organizadas por el efecto que cada método tiene sobre la variable de entrada. Es decir, si el método opera sobre una variable de entrada o sobre muchas y produce un resultado único o muchos, por ejemplo

  • One-to-One
  • Uno a muchos
  • Many-to-Many

Esto incluye una serie de métodos, como el escalado de datos, las transformaciones de potencia y los métodos de proyección.

Capítulo 7. Detección de los efectos de la interacción

Este capítulo se centra en un tema que a menudo se pasa por alto, que es el estudio de la forma en que las variables interactúan en un conjunto de datos.

Técnicamente, la interacción se refiere a aquellas variables que en conjunto tienen más o menos efecto que si se consideran de manera aislada.

En muchos problemas, la variación adicional de la respuesta puede explicarse por el efecto de dos o más predictores que trabajan conjuntamente. […] Más formalmente, se dice que dos o más predictores interactúan si su efecto combinado es diferente (menor o mayor) de lo que esperaríamos si añadiéramos el impacto de cada uno de sus efectos cuando se consideran por separado.

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

Este tema suele pasarse por alto en el contexto de la preparación de datos, ya que a menudo se cree que los algoritmos de aprendizaje utilizados en la elaboración de modelos de predicción aprenderán cualquier interrelación pertinente entre las variables que ayudan a predecir la variable objetivo.

Capítulo 8. Manejo de los datos que faltan

El presente capítulo se centra en el problema de la falta de observaciones en los datos disponibles.

Es un tema importante porque a la mayoría de los datos les faltan valores o están corruptos, o lo estarán si el conjunto de datos se amplía.

Los datos que faltan no son raros en los conjuntos de datos reales.

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

Tras examinar las causas de la falta de datos y las visualizaciones de los datos que ayudan a comprender el alcance de los valores que faltan en un conjunto de datos, el capítulo trabaja a través de tres soluciones principales:

  • Eliminar los datos con valores perdidos.
  • Codifica los valores perdidos para que los modelos puedan aprender sobre ellos.
  • Imputar los valores que faltan a partir de los datos disponibles.

Capítulo 9. Trabajar con datos de perfil

En este capítulo se presenta un estudio monográfico de los métodos de preparación de datos para los datos de los perfiles.

Puede que su nombre sea poco apropiado, pero tiene que ver con datos con dependencias a diferentes escalas, por ejemplo, cómo hacer una preparación de datos útiles con datos en el ámbito del día/semana/mes en un conjunto de datos dado (por ejemplo, estructuras jerárquicas).

Dado que el objetivo es hacer predicciones diarias, el perfil de las mediciones meteorológicas dentro del día debe resumirse de alguna manera a nivel diurno de manera que se conserve la información de las posibles predicciones. Para este ejemplo, las características diarias podrían incluir la media o la mediana de los datos numéricos y tal vez el rango de valores dentro de un día.

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

Recomendado:  Optimización local versus optimización global

Me temo que lo encontré completamente poco interesante. Pero estoy seguro de que sería el capítulo más interesante para cualquiera que trabaje actualmente con este tipo de datos.

Capítulo 10. Visión general de la selección de características

En este capítulo se motiva la necesidad de la selección de características como la selección de las entradas más relevantes, no la variable objetivo que se está prediciendo.

… algunos pueden no ser relevantes para el resultado. […] hay una necesidad genuina de seleccionar apropiadamente los predictores para el modelado.

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

Además de mejorar el rendimiento del modelo, la selección de menos variables de entrada puede hacer que el modelo sea más interpretable, aunque a menudo a costa de la habilidad del modelo. Esta es una compensación común que se observa en el modelado predictivo.

… a menudo existe un equilibrio entre el rendimiento predictivo y la interpretabilidad, y por lo general no es posible maximizar ambos al mismo tiempo.

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

Se utiliza un marco de tres métodos para organizar los métodos de selección de características, entre ellos:

  • Selección de características intrínsecas e implícitas.
  • Selección de características de filtro.
  • Selección de características de la envoltura.

Las metodologías de selección de características se dividen en tres clases generales: métodos intrínsecos (o implícitos), métodos de filtro y métodos de envoltura.

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

Los dos capítulos restantes también se centran en la selección de características.

Capítulo 11. Métodos de búsqueda codiciosos

Este capítulo se centra en los métodos que evalúan las características de una en una y luego seleccionan subconjuntos de características que obtienen buenos resultados.

Esto incluye métodos que calculan la fuerza de una relación estadística entre la entrada y el objetivo y métodos que eliminan reiteradamente características del conjunto de datos y evalúan un modelo en cada paso.

Un enfoque sencillo para identificar características potencialmente importantes desde el punto de vista de la predicción es evaluar cada característica individualmente. […] Los filtros simples son ideales para encontrar predictores individuales. Sin embargo, este enfoque no tiene en cuenta el impacto de múltiples características juntas.

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

Capítulo 12. Métodos de búsqueda global

Este capítulo se centra en los algoritmos de búsqueda global que prueban diferentes subconjuntos de características en función del rendimiento de los modelos que se ajustan a esas características.

Los métodos de búsqueda global pueden ser una herramienta eficaz para investigar el espacio de predicción e identificar subconjuntos de predictores que se relacionen de manera óptima con la respuesta. […] Aunque los enfoques de búsqueda global suelen ser eficaces para encontrar buenos conjuntos de características, son computacionalmente gravosos.

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

Esto incluye los conocidos algoritmos de búsqueda estocástica global como el recocido simulado y los algoritmos genéticos.

Pensamientos finales sobre el libro

Creo que este es el muy necesario libro de texto que falta sobre la preparación de datos.

También creo que si eres un practicante serio del aprendizaje de las máquinas, necesitas una copia.

Si está familiarizado con el R y el Python para el aprendizaje de las máquinas, el libro destaca hasta qué punto las bibliotecas como la de Python/científicos tienen que ir para ponerse al día con el ecosistema del R/caret.

Cuando se trata de la preparación de datos, no creo que los ejemplos trabajados sean tan útiles como lo son para demostrar los algoritmos. Tal vez sea sólo yo y mi preferencia. Dado lo diferente que es cada conjunto de datos en términos de número, tipo y composición de características, demostrar la preparación de datos en conjuntos de datos estándar no es una ayuda útil para la enseñanza.

Lo que preferiría es una cobertura más sistemática de los problemas que podemos ver en los datos brutos en lo que respecta a la modelización y la forma en que cada método de preparación de datos lo aborda. Por ejemplo, me encantaría un largo catálogo de métodos, cómo funcionan y cuándo usarlos en lugar de la prosa sobre cada método.

De todos modos, eso es sólo yo presionando duro en cómo hacer el libro mejor o una visión alternativa del material. Es un deber, sin duda.