El aprendizaje automático puede parecer mágico a veces, pero no lo es. Se hace un gran esfuerzo para garantizar que los algoritmos funcionen correctamente y comienza con obtener conjuntos de datos en forma utilizable. Ahí es donde entra en juego el proceso de ingeniería de funciones.
El proceso de ingeniería de funciones es clave para comprender qué datos están disponibles para usar en un algoritmo de aprendizaje automático. Las funciones también son necesarias para probar la precisión de los modelos y mejorar aún más su precisión.
¿Qué es la ingeniería de características?
La ingeniería de características es el proceso de tomar datos sin procesar y transformarlos en características que se pueden usar en algoritmos de aprendizaje automático. Las características son las unidades de medida específicas que los algoritmos evalúan para las correlaciones.
«Realmente, el proceso de ingeniería de funciones está convirtiendo los datos que tiene en la versión más efectiva y utilizable de lo que va a llegar a la pregunta que desea responder», dijo Hannah Pullen-Blasnik, investigadora graduada de la Universidad de Columbia y ex científico de datos senior en Digitas North America, una agencia global de marketing y tecnología.
Según Brian Lett, director de investigación de Dresner Advisory Services, la ingeniería de funciones es un equilibrio entre arte y ciencia. El lado del arte incorpora la experiencia en el dominio, mientras que el lado de la ciencia encuentra las variables correctas.
Por qué la ingeniería de características es importante
Las características son las que hacen que los modelos de aprendizaje automático funcionen. El proceso de ingeniería de características ayuda a los científicos de datos a elegir las características que harán que el modelo sea preciso. Este proceso es especialmente importante con conjuntos de datos que tienen muchos valores atípicos.
«Algunas personas argumentan que es la parte más importante [in the machine learning process] porque la calidad de los datos que ingresa en su modelo va a influir en la calidad de los resultados que puede obtener «, dijo Pullen-Blasnik.
La ingeniería de funciones también es clave para acceder a lo que es importante en los datos.
«Creo [feature engineering] es importante porque muchas veces podemos atascarnos en información que no es útil para el problema en cuestión «, dijo Gilad Barash, vicepresidente de análisis de Dstillery, una consultora de marketing de audiencia personalizada con sede en Nueva York.
Mike Gualtieri, analista de Forrester Research, dijo que la ingeniería de funciones es la parte más importante del proceso de aprendizaje automático porque puede hacer o deshacer la precisión de un algoritmo.
«Hay que darle al algoritmo de aprendizaje automático una oportunidad de luchar para analizar esos datos, y la ingeniería de características básicamente es el proceso de revelar más detalles, dar más información», dijo Gualtieri.
El proceso de ingeniería de características
La ingeniería de características sigue siendo una disciplina relativamente nueva, lo que significa que no existe un proceso exacto.
«Creo que varía mucho entre el tipo de problema que estás resolviendo, el tipo de modelo que estás usando y la industria en la que estás», dijo Pullen-Blasnik.
Independientemente de las diferencias entre las industrias y los enfoques de los científicos de datos, estos son los pasos principales en el proceso de ingeniería de características.
Preparación de datos
Aunque técnicamente es un proceso diferente, la preparación de datos es parte integral del proceso de ingeniería de características. La preparación de datos para la ingeniería de funciones a veces puede ser más un proceso de integración, dijo Gualtieri.
«Puedes tomar datos de cinco o seis fuentes diferentes, y tienes que juntarlos. Tienes que convertirlos en una», dijo.
Lett dijo que la preparación de datos es especialmente importante para garantizar que todos los datos tengan el mismo formato. Por ejemplo, en Europa, las fechas se formatean como día / mes / año mientras que en Norteamérica la fecha se formatea como mes / día / año.
«Es el tipo de cosas en las que alguien tiene que hacer esa limpieza para asegurarse de antemano de que no va a causar un problema», dijo Lett.
Análisis exploratorio de datos
El primer paso en el proceso de ingeniería de funciones es comprender los datos que tiene. El análisis de datos exploratorios puede ser un paso importante si falta documentación para el conjunto de datos. Según Pullen-Blasnik, la documentación de datos varía según el conjunto de datos. Cuando hay una falta de documentación, el análisis de datos exploratorios puede ayudar cuando no puede confiar en la información mínima que se le ha proporcionado.
«Quiero asegurarme de saber exactamente lo que contiene antes de empezar a trabajar con él», dijo Pullen-Blasnik.
El análisis de datos exploratorios también es un paso clave para elegir las características adecuadas para un modelo. Barash dijo que el análisis de datos exploratorios puede reducir la dimensionalidad entre características. También puede ayudar a los científicos de datos a encontrar características únicas y comprender las que son menos intuitivas.
Según Gualtieri, el análisis de datos exploratorios es importante para elegir características para un modelo.
«Si está haciendo análisis de datos exploratorios y la ingeniería previa a las características, está buscando cosas, está formulando hipótesis y buscando cosas que podrían importar y haciendo una predicción», dijo.
Establezca un punto de referencia y elija características
Antes de elegir funciones, es importante saber cuál es la pregunta que está tratando de responder, lo que requiere una buena cantidad de creatividad.
Al probar una hipótesis, es importante establecer una línea de base para la precisión. A partir de ese punto de referencia, puede introducir funciones simples para ver si cumplen con esa precisión.
«Su objetivo es reducir las tasas de error y [improve] la predictibilidad del modelo con el que está trabajando «, dijo Lett.» Mientras intenta reducir esta tasa de error, debe tener ese punto de referencia con el que comparar todo «.
Lett dijo que la colaboración y la experiencia en el dominio son especialmente beneficiosos en este paso.
Brian LettDirector de investigación, Dresner Advisory Services
«Es necesario contar con personas con experiencia en el dominio que puedan comenzar a filtrar los datos correctamente y comenzar a generar estas buenas hipótesis que el modelo realmente está probando», dijo Lett.
Este es un buen punto para incorporar usuarios empresariales en el equipo. Los usuarios comerciales no solo pueden aumentar la experiencia del dominio, sino que también pueden ayudar a los científicos de datos a mantener en mente el objetivo comercial final, dijo Lett.
Evite el sesgo en la ingeniería de funciones
Una cosa que los científicos de datos quieren evitar es introducir sesgos en el modelo, que puede comenzar en el proceso de ingeniería de características.
Barash dijo que la investigación es importante para evitar los prejuicios y que el elemento humano no debe infravalorarse en el proceso.
«Cuantos más pares de ojos diferentes (pueden mirar estas características y tomar las decisiones juntos en términos de, por ejemplo, eliminar características), más cambios tendrá para evitar con éxito el sesgo», dijo Barash.
Según Lett, una forma de evitar el sesgo es incluir una estrategia de gobernanza.
«Es muy importante desde un punto de vista comercial, especialmente si se va a utilizar en actividades externas o de cara al cliente, poder explicar completamente ese modelo», dijo Lett.
Las organizaciones más grandes tienden a tener estructuras de gobierno más formales cuando se trata del proceso de ingeniería de características, mientras que las organizaciones más pequeñas pueden no tener el mismo equipo o estrategia de gobierno.
«Si comienza a ver algún sesgo allí, podrá comprender de dónde vino eso, de dónde esas fuentes de datos pueden estar contribuyendo o no a ese sesgo», dijo Lett. «Y luego es mucho más fácil entender dónde podría tomar medidas para poder abordar eso en lugar de tratar de resolverlo retroactivamente».
El papel de las herramientas automatizadas
Las herramientas de ingeniería de características automatizadas también han aumentado recientemente para ayudar a los científicos de datos, pero el elemento humano sigue siendo necesario.
«Lo mejor de las herramientas automatizadas es que te permiten utilizar o mirar y procesar una dimensionalidad mucho mayor», dijo Barash.
Según Gualtieri, la ingeniería de funciones automatizada ofrece opciones a los científicos de datos.
«¿Qué pasa si tiene una columna y falta el 70% de los valores?» Dijo Gualtieri. «Hay una opción allí, por lo que la ingeniería de funciones automatizada puede revelar esa elección a los científicos de datos».
También dijo que algunos productos proporcionarán más control y alertarán a los científicos de datos cuando sean necesarios ajustes.