La ingeniería de características es el proceso que toma datos sin procesar y los transforma en características que se pueden utilizar para crear un modelo predictivo mediante el aprendizaje automático o el modelado estadístico, como el aprendizaje profundo. El objetivo de la ingeniería de funciones es preparar un conjunto de datos de entrada que se adapte mejor al algoritmo de aprendizaje automático, así como mejorar el rendimiento de los modelos de aprendizaje automático. La ingeniería de características puede ayudar a los científicos de datos al acelerar el tiempo que lleva extraer variables de los datos, lo que permite la extracción de más variables. La automatización de la ingeniería de funciones ayudará a las organizaciones y a los científicos de datos a crear modelos con mayor precisión.
Cómo funciona la ingeniería de características
El proceso de ingeniería de funciones puede verse así:
- Diseñe funciones: examine una gran cantidad de datos, analice la ingeniería de funciones en otros problemas y descubra qué utilizar con ellos.
- Definir características: implica dos procesos: extracción de características, que consiste en definir y extraer un conjunto de características que representan datos que son importantes para el análisis; y construcción de características, que implica transformar un conjunto particular de características de entrada para crear un nuevo conjunto de características más efectivas que se pueden usar para la predicción. Dependiendo del problema, los usuarios pueden optar por utilizar la extracción automática de funciones, la construcción manual de funciones o una combinación de ambas.
- Seleccionar funciones: cuando los usuarios saben algo sobre los datos y han definido las funciones potenciales, el siguiente paso es elegir las funciones adecuadas. Este consta de dos elementos: selección de características, el proceso de seleccionar algún subconjunto de las características más relevantes para una tarea en particular; y puntuación de características, una evaluación de la utilidad de una característica para la predicción.
- Evaluar modelos: evalúe las características evaluando la precisión del modelo en datos invisibles utilizando las características seleccionadas.
Técnicas de ingeniería de características
Las técnicas de ingeniería de características incluyen:
- Imputación: un problema típico en el aprendizaje automático son los valores faltantes en los conjuntos de datos, lo que afecta la forma en que los algoritmos de aprendizaje automático La imputación es el proceso de reemplazar los datos faltantes con estimaciones estadísticas de los valores faltantes, lo que produce un conjunto de datos completo que se utilizará para entrenar modelos de aprendizaje automático.
- Codificación one-hot: un proceso mediante el cual los datos categóricos se convierten en una forma que el algoritmo de aprendizaje automático comprende para que pueda realizar mejores predicciones.
- Bolsa de palabras: un algoritmo de conteo que calcula cuántas veces se repite una palabra en un documento. Se puede utilizar para determinar similitudes y diferencias en documentos para aplicaciones tales como búsqueda y clasificación de documentos.
- Ingeniería de funciones automatizada: esta técnica extrae funciones útiles y significativas mediante un marco que se puede aplicar a cualquier problema. La ingeniería de funciones automatizada permite a los científicos de datos ser más productivos al permitirles dedicar más tiempo a otros componentes del aprendizaje automático. Esta técnica también permite a los científicos de datos ciudadanos realizar ingeniería de características utilizando un enfoque basado en marcos.
- Binning – binning, o agrupar datos, es clave para preparar datos numéricos para el aprendizaje automático. Esta técnica se puede utilizar para reemplazar una columna de números con valores categóricos que representan rangos específicos.
- N-gramos: ayudan a predecir el siguiente elemento de una secuencia. En el análisis de sentimientos, el modelo n-gram ayuda a analizar el sentimiento del texto o documento.
- Cruces de características: una forma de combinar dos o más características categóricas en una. Esta técnica es particularmente útil cuando ciertas características juntas denotan una propiedad mejor que por sí mismas.
Hay algunas bibliotecas de Python de código abierto que admiten técnicas de ingeniería de características, incluida la biblioteca Featuretools para crear características automáticamente a partir de un conjunto de tablas relacionadas mediante la síntesis profunda de características, un algoritmo que genera automáticamente características para conjuntos de datos relacionales.
Casos de uso de ingeniería de funciones
Los siguientes son ejemplos de casos de uso de ingeniería de funciones:
- Calcular la edad de una persona a partir de la fecha de nacimiento de la persona y la fecha actual
- Obtener el recuento promedio y mediano de retweets de tweets particulares
- Adquirir recuentos de palabras y frases a partir de artículos de noticias
- Extraer información de píxeles de imágenes
- Tabular la frecuencia con la que los maestros ingresan a varios grados
Ingeniería de funciones para el aprendizaje automático
La ingeniería de características implica la aplicación de conocimientos empresariales, matemáticas y estadísticas para transformar los datos en una forma que los modelos de aprendizaje automático puedan utilizar.
Los algoritmos dependen de los datos para impulsar los algoritmos de aprendizaje automático. Un usuario que comprende los datos históricos puede detectar el patrón y luego desarrollar una hipótesis. Luego, basándose en la hipótesis, el usuario puede predecir el resultado probable, como qué clientes probablemente comprarán ciertos productos durante un cierto período de tiempo. La ingeniería de características consiste en descubrir la mejor combinación posible de hipótesis.
La ingeniería de características es fundamental porque si el usuario proporciona una hipótesis incorrecta como entrada, el aprendizaje automático no puede realizar predicciones precisas. La calidad de cualquier hipótesis que se proporcione al algoritmo de aprendizaje automático es clave para el éxito de un modelo de aprendizaje automático.
Además, la ingeniería de funciones influye en el rendimiento y la precisión de los modelos de aprendizaje automático. Ayuda a descubrir los patrones ocultos en los datos y aumenta el poder predictivo del aprendizaje automático.
Para que los algoritmos de la máquina funcionen correctamente, los usuarios deben ingresar los datos correctos que los algoritmos puedan comprender. La ingeniería de funciones transforma los datos de entrada en una única forma agregada que está optimizada para el aprendizaje automático. La ingeniería de funciones permite que el aprendizaje automático haga su trabajo, por ejemplo, predecir la rotación de los minoristas o prevenir el fraude para las instituciones financieras.
Ingeniería de características en el modelado predictivo
Una forma eficaz de mejorar los modelos predictivos es con la ingeniería de funciones, el proceso de creación de nuevas funciones de entrada para el aprendizaje automático.
Uno de los principales objetivos del modelado predictivo es encontrar una relación predictiva eficaz y fiable entre un conjunto de funciones disponibles y un resultado: por ejemplo, la probabilidad de que un cliente realice una acción deseada.
La ingeniería de características es el proceso de seleccionar y transformar variables al crear un modelo predictivo mediante el aprendizaje automático. Es una buena manera de mejorar los modelos predictivos, ya que implica aislar información clave, resaltar patrones y traer a alguien con experiencia en el dominio.
Los datos utilizados para crear un modelo predictivo consisten en una variable de resultado, que contiene datos que deben predecirse, y una serie de variables predictoras, es decir, características, que contienen datos que pueden predecir un resultado en particular.
Por ejemplo, en un modelo que predice el precio de una determinada casa, la variable de resultado son los datos que muestran el precio real. Las variables predictoras son los datos que muestran cosas como el tamaño de la casa, una cantidad de dormitorios y la ubicación, características que se cree que determinan el valor de la casa.