El machine learning ajusta los modelos matemáticos a los datos para obtener información relevante y/o hacer predicciones. Estos modelos toman como base determinadas características, que son representación numérica de un aspecto de los datos sin procesar. Por su parte, el feature engineering o ingeniería de características extrae los datos en crudo y los convierte en formatos adecuados para el machine learning.
La ingeniería de características es una disciplina crucial en lo que respecta al aprendizaje automático. De ahí que feature engineering y machine learning siempre vayan de la mano. Hallar y utilizar las características correctas puede aliviar la dificultad del modelado y, por lo tanto, permitir que se generen resultados de mayor calidad.
De hecho, cuando se diseña e implementa un modelo de machine learning, la mayor parte del tiempo se dedica a la ingeniería de características y la limpieza de datos. Sin embargo, a pesar de su importancia, el tema rara vez se trata de manera exclusiva. Quizás porque las características correctas solo se pueden definir en el contexto del modelo y los datos. Dado que los datos y los modelos son tan diversos, es difícil generalizar en lo que respecta al feature engineering.
Los datos provienen de observar el mundo real. Por ejemplo, los datos del mercado de valores pueden incluir precios diarios de acciones, anuncios de beneficios de empresas e incluso artículos de opinión de expertos. Los datos biométricos personales pueden incluir mediciones de nuestro ritmo cardíaco minuto a minuto, nivel de azúcar en la sangre, presión arterial, etc. Los datos relativos al business intelligence incluyen observaciones como "Alicia compró dos libros el domingo", "Alberto navegó por estas páginas de la web” o “Pilar hizo clic en el enlace de la oferta especial de la semana pasada”. Podemos encontrar un sinfín de ejemplos de datos en diferentes sectores.
Cada dato proporciona una pequeña ventana a un aspecto limitado de la realidad. La recopilación de todas estas observaciones nos da una imagen del conjunto. Pero la imagen es desordenada porque está compuesta por mil pequeñas piezas.
¿Por qué recopilamos datos? Hay preguntas que los datos pueden ayudarnos a responder, preguntas como "¿En qué acciones debo invertir?", o "¿Cómo puedo vivir un estilo de vida más saludable?", o "¿Cómo puedo entender los gustos cambiantes de mis clientes, para que mi negocio pueda atenderlos mejor?"
Los flujos de trabajo con datos suelen ser procesos iterativos de varias etapas. Por ejemplo.
En este modelo el equipo de producción lo reescribe en C++ o Java.
Tratar de comprender el mundo a través de los datos es como tratar de reconstruir la realidad usando un rompecabezas incompleto con un montón de piezas repetidas. Aquí es donde entra en juego el modelado matemático, en particular el modelado estadístico.
Un modelo matemático de datos describe las relaciones entre diferentes aspectos de dichos datos. Por ejemplo, un modelo que predice los precios de las acciones podría ser una fórmula que asigna el historial de beneficios de una empresa, los precios de las acciones anteriores y la industria al precio de las acciones pronosticado. Un modelo que recomienda música podría medir la similitud entre los usuarios (en función de sus hábitos de escucha) y recomendar los mismos artistas a los usuarios que han escuchado muchas de las mismas canciones.
Las fórmulas matemáticas relacionan cantidades numéricas entre sí. Pero los datos sin procesar a menudo no son numéricos. (La acción "Alicia compró la trilogía de El Señor de los Anillos el miércoles" no es numérica, y tampoco lo es la reseña que escribe posteriormente sobre el libro). Debe haber una pieza que conecte a los dos. Aquí es donde entra el feature engineering.
Una característica es una representación numérica de datos sin procesar. Hay muchas maneras de convertir los datos sin procesar en medidas numéricas, por lo estas pueden terminar pareciéndose a muchas cosas. Naturalmente, las características deben ser las adecuadas para el tipo de datos disponibles. Y también han de estar ligadas al modelo, pues algunos modelos son más apropiados para algunos tipos y viceversa.
La ingeniería es el proceso de formular las características más apropiadas dados los datos, el modelo y la tarea.
El número de características también es importante. Si no hay suficientes, entonces el modelo no podrá realizar la tarea. Si hay demasiadas, o si la mayoría de ellas son irrelevantes, entonces el modelo será más costoso y difícil de entrenar.
Para formarte en feature engineering, consulta nuestro Máster en Business Analytics e IA.