La ingeniería de características es el proceso de utilizar el conocimiento del dominio para extraer características (características, propiedades, atributos) de datos sin procesar . [1]
Una característica es una propiedad compartida por unidades independientes sobre la que se realizará el análisis o la predicción. [2]
Los modelos predictivos utilizan características e influyen en los resultados. [3]
Se ha empleado la ingeniería de funciones en los concursos de Kaggle [4] y en proyectos de aprendizaje automático. [5]
Proceso
El proceso de ingeniería de funciones es: [6]
- Lluvia de ideas o funciones de prueba ; [7]
- Decidir qué funciones crear;
- Creación de funciones;
- Probar el impacto de las características identificadas en la tarea;
- Mejorando sus funciones si es necesario;
- Repetir.
Relevancia
Las características varían en importancia. [8] Incluso las características relativamente insignificantes pueden contribuir a un modelo. La selección de funciones puede reducir la cantidad de funciones para evitar que un modelo se vuelva demasiado específico para el conjunto de datos de entrenamiento (sobreajuste). [9]
Explosión
La explosión de funciones se produce cuando el número de funciones identificadas aumenta de forma inapropiada. Las causas comunes incluyen:
- Plantillas de funciones: implementación de plantillas de funciones en lugar de codificar nuevas funciones
- Combinaciones de funciones: combinaciones que no se pueden representar mediante un sistema lineal
La explosión de características se puede limitar mediante técnicas como: regularización , método de kernel y selección de características . [10]
Automatización
La automatización de la ingeniería de funciones es un tema de investigación que se remonta a la década de 1990. [11] El software de aprendizaje automático que incorpora ingeniería de funciones automatizadas está disponible comercialmente desde 2016. [12] La literatura académica relacionada se puede dividir aproximadamente en dos tipos:
- El aprendizaje del árbol de decisiones multirrelacional (MRDTL) utiliza un algoritmo supervisado que es similar a un árbol de decisiones .
- La síntesis profunda de características utiliza métodos más simples. [ cita requerida ]
MRDTL genera características en forma de consultas SQL agregando sucesivamente cláusulas a las consultas. [13] Por ejemplo, el algoritmo podría comenzar con
SELECT COUNT ( * ) DE ATOM t1 LEFT JOIN MOLÉCULA t2 EN t1 . mol_id = t2 . mol_id GROUP BY t1 . mol_id
Luego, la consulta se puede refinar sucesivamente agregando condiciones, como "DONDE t1.charge <= -0.392". [14]
Sin embargo, la mayoría de los estudios de MRDTL basan las implementaciones en bases de datos relacionales, lo que da como resultado muchas operaciones redundantes. Estas redundancias se pueden reducir mediante el uso de trucos como la propagación de id de tupla. [15] [16] La eficiencia se puede aumentar mediante el uso de actualizaciones incrementales, lo que elimina redundancias. [17]
Síntesis de características profundas
El algoritmo Deep Feature Synthesis venció a 615 de 906 equipos humanos en una competencia. [18] [19]
Bibliotecas:
[OneBM] ayuda a los científicos de datos a reducir el tiempo de exploración de datos, lo que les permite probar y equivocar muchas ideas en poco tiempo. Por otro lado, permite a los no expertos, que no están familiarizados con la ciencia de datos, extraer rápidamente valor de sus datos con un poco de esfuerzo, tiempo y costo. [23]
Tiendas de características
Una tienda de características incluye la capacidad de almacenar el código utilizado para generar características, aplicar el código a los datos sin procesar y ofrecer esas características a los modelos a pedido. Las capacidades útiles incluyen el control de versiones de funciones y las políticas que rigen las circunstancias en las que se pueden utilizar las funciones. [24]
Las tiendas de características pueden ser herramientas de software independientes o integradas en plataformas de aprendizaje automático. Por ejemplo, Feast [25] es una tienda de características de código abierto, mientras que plataformas como Michelangelo de Uber usan tiendas de características como un componente. [26]
Ver también
Referencias
- ^ "Aprendizaje automático e IA a través de simulaciones cerebrales" . Universidad de Stanford . Consultado el 1 de agosto de 2019 .
- ^ "Descubra la ingeniería de funciones, cómo diseñar funciones y cómo ser bueno en ella: dominio del aprendizaje automático" . Dominio del aprendizaje automático . 25 de septiembre de 2014 . Consultado el 11 de noviembre de 2015 .
- ^ "Ingeniería de funciones: ¿Cómo transformar variables y crear nuevas?" . Analytics Vidhya . 2015-03-12 . Consultado el 12 de noviembre de 2015 .
- ^ "Preguntas y respuestas con Xavier Conort" . kaggle.com . 2013-04-10 . Consultado el 12 de noviembre de 2015 .
- ^ Domingos, Pedro (1 de octubre de 2012). "Algunas cosas útiles que debe saber sobre el aprendizaje automático" (PDF) . Comunicaciones de la ACM . 55 (10): 78–87. doi : 10.1145 / 2347736.2347755 . S2CID 2559675 .
- ^ "Big Data: Semana 3 Video 3 - Ingeniería de funciones" . youtube.com .
- ^ Jalal, Ahmed Adeeb (1 de enero de 2018). "Big data y sistemas de software inteligente" . Revista internacional de sistemas de ingeniería inteligentes y basados en el conocimiento . 22 (3): 177-193. doi : 10.3233 / KES-180383 - a través de content.iospress.com.
- ^ "Ingeniería de funciones" (PDF) . 2010-04-22 . Consultado el 12 de noviembre de 2015 .
- ^ "Ingeniería y selección de funciones" (PDF) . Alexandre Bouchard-Côté. 1 de octubre de 2009 . Consultado el 12 de noviembre de 2015 .
- ^ "Ingeniería de funciones en Machine Learning" (PDF) . Zdenek Zabokrtsky. Archivado desde el original (PDF) el 4 de marzo de 2016 . Consultado el 12 de noviembre de 2015 .
- ^ Knobbe, Arno J .; Siebes, Arno; Van Der Wallen, Daniël (1999). "Inducción de árbol de decisión multirrelacional" (PDF) . Principios de minería de datos y descubrimiento de conocimientos . Apuntes de conferencias en Ciencias de la Computación. 1704 . págs. 378–383. doi : 10.1007 / 978-3-540-48247-5_46 . ISBN 978-3-540-66490-1.
- ^ "Se trata de las características" . Blog de realidad virtual . Septiembre de 2017.
- ^ "Un estudio comparativo del algoritmo de aprendizaje del árbol de decisión multirrelacional". CiteSeerX 10.1.1.636.2932 . Cite journal requiere
|journal=
( ayuda ) - ^ Leiva, Héctor; Atramentov, Anna; Honavar, Vasant (2002). "Experimentos con MRDTL: un algoritmo de aprendizaje de árbol de decisión multirrelacional" (PDF) . Cite journal requiere
|journal=
( ayuda ) - ^ Yin, Xiaoxin; Han, Jiawei; Yang, Jiong; Yu, Philip S. (2004). "CrossMine: clasificación eficiente a través de múltiples relaciones de bases de datos". Actas. XX Congreso Internacional de Ingeniería de Datos . Actas de la 20ª Conferencia Internacional sobre Ingeniería de Datos . págs. 399–410. doi : 10.1109 / ICDE.2004.1320014 . ISBN 0-7695-2065-0. S2CID 1183403 .
- ^ Frank, Richard; Moser, Flavia; Ester, Martín (2007). "Un método para la clasificación multirrelacional utilizando funciones de agregación de características únicas y múltiples". Descubrimiento de conocimiento en bases de datos: PKDD 2007 . Apuntes de conferencias en Ciencias de la Computación. 4702 . págs. 430–437. doi : 10.1007 / 978-3-540-74976-9_43 . ISBN 978-3-540-74975-2.
- ^ "Cómo funciona la ingeniería de características automatizada: la solución de ingeniería de características más eficiente para datos relacionales y series de tiempo" . Consultado el 21 de noviembre de 2019 .[ fuente promocional? ]
- ^ "Automatización del análisis de macrodatos" .
- ^ Kanter, James Max; Veeramachaneni, Kalyan (2015). "Síntesis de características profundas: hacia la automatización de esfuerzos de ciencia de datos". 2015 IEEE International Conference on Data Science and Advanced Analytics (DSAA) . Conferencia internacional IEEE sobre ciencia de datos y análisis avanzado . págs. 1-10. doi : 10.1109 / DSAA.2015.7344858 . ISBN 978-1-4673-8272-4. S2CID 206610380 .
- ^ "Featuretools | Un marco de código abierto para el inicio rápido de la ingeniería de características automatizadas" . www.featuretools.com . Consultado el 22 de agosto de 2019 .
- ^ Hoang Thanh Lam; Thiebaut, Johann-Michael; Sinn, Mathieu; Chen, Bei; Mai, Tiep; Alkan, Oznur (2017). "Máquina de un botón para la automatización de la ingeniería de funciones en bases de datos relacionales". arXiv : 1706.00327 [ cs.DB ].
- ^ "ExploreKit: generación y selección automática de funciones" (PDF) .
- ^ Thanh Lam, Hoang; Thiebaut, Johann-Michael; Sinn, Mathieu; Chen, Bei; Mai, Tiep; Alkan, Oznur (1 de junio de 2017). "Máquina de un botón para la automatización de la ingeniería de funciones en bases de datos relacionales". arXiv : 1706.00327 [ cs.DB ].
- ^ "Introducción a las tiendas de características" . Consultado el 15 de abril de 2021 .
- ^ "Fiesta: Tienda de funciones para el aprendizaje automático" . Consultado el 15 de abril de 2021 .
- ^ "Conoce a Miguel Ángel: plataforma de aprendizaje automático de Uber" . 5 de septiembre de 2017 . Consultado el 15 de abril de 2021 .
Otras lecturas
- Boehmke, Bradley; Greenwell, Brandon (2019). "Ingeniería de funciones y objetivos". El aprendizaje práctico de la máquina con R . Chapman y Hall. págs. 41–75. ISBN 978-1-138-49568-5.
- Zheng, Alice; Casari, Amanda (2018). Ingeniería de funciones para el aprendizaje automático: principios y técnicas para científicos de datos . O'Reilly. ISBN 978-1-4919-5324-2.
- Zumel, Nina; Monte, John (2020). "Ingeniería de datos y modelado de datos". Practical Data Science con R (2ª ed.). Manning. págs. 113–160. ISBN 978-1-61729-587-4.