Tercera etapa: Datos e ingeniería de características
Una lista curada de recursos de ingeniería de características para aprendizaje automático, que abarca métodos y herramientas de ingeniería de características para varios tipos de datos, como numéricos, texto, imágenes, categóricos, series de tiempo, etc.
Introducción al Proyecto Awesome Feature Engineering
Resumen del Proyecto
Awesome Feature Engineering es una lista seleccionada de recursos técnicos de ingeniería de características (feature engineering) para aprendizaje automático. Este proyecto es mantenido por Andrei Khobnia y está bajo la licencia Creative Commons Attribution-Noncommercial-ShareAlike 3.0 Unported License.
El proyecto ofrece a los profesionales del aprendizaje automático un repositorio completo de recursos de técnicas de ingeniería de características, cubriendo métodos y herramientas para diferentes tipos de datos.
Clasificación del Contenido Principal
1. Datos Numéricos (Numeric Data)
Transformación de Datos:
- Transformación Box-Cox:
scipy.stats.boxcox
- Transformación Logarítmica:
np.log (x + const)
- Transformación Box-Cox:
Ingeniería de Características Automatizada:
Featuretools
: para ingeniería de características automatizada
Interacción de Características:
sklearn.preprocessing.PolynomialFeatures
: generación de características polinómicas- Operaciones de división
- Otras características interactivas
2. Datos Textuales (Textual Data)
Modelo Bag-of-words:
- Bag-of-words model
- A Gentle Introduction to the Bag-of-Words Model
sklearn.feature_extraction.text.CountVectorizer
sklearn.feature_extraction.DictVectorizer
sklearn.feature_extraction.FeatureHasher
Técnicas de Word Embedding:
Técnicas de Extracción de Características:
- ClearTK - Feature Extraction Tutorial
- Expresiones regulares
- Part-of-Speech_Tagging
- NLTK Categorizing and Tagging Words
3. Datos de Imagen (Image Data)
Extracción de Características Tradicional:
Extracción de Características con Deep Learning:
4. Datos Categóricos (Categorical Data)
Codificación One-Hot:
- Why One-Hot Encode Data in Machine Learning?
- How to One Hot Encode Sequence Data in Python
sklearn.preprocessing.OneHotEncoder
Keras - to_categorical
Codificación por Objetivo (Target Encoding):
Hashing de Características (Feature Hashing):
5. Datos de Series Temporales (Time Series Data)
- Extracción Automática de Características:
6. Datos Geoespaciales (Geospatial Data)
- Incluye técnicas de ingeniería de características relacionadas con la ubicación geográfica.
Características del Proyecto
- Exhaustividad: Cubre los principales tipos de datos en aprendizaje automático y las técnicas de ingeniería de características correspondientes.
- Practicidad: Proporciona bibliotecas de herramientas y ejemplos de implementación de código.
- Código Abierto: Adopta una licencia de código abierto y da la bienvenida a las contribuciones de la comunidad.
- Autoridad: Enlaza a documentación, tutoriales y recursos académicos autorizados.
- Operatividad: Ofrece bibliotecas de Python específicas y métodos de llamada a funciones.
Valor de Uso
Este proyecto es especialmente valioso para las siguientes personas:
- Ingenieros de Machine Learning
- Científicos de Datos
- Investigadores de Ingeniería de Características
- Principiantes en Machine Learning
- Profesionales que buscan mejorar el rendimiento de sus modelos
Formas de Contribución
El proyecto fomenta las contribuciones de la comunidad; se pueden añadir nuevos recursos o mejorar el contenido existente creando pull requests.
Resumen
El proyecto Awesome Feature Engineering ofrece un repositorio de recursos completo y práctico para la ingeniería de características en aprendizaje automático, siendo una referencia importante para aprender y aplicar técnicas de ingeniería de características. A través de una clasificación sistemática y enlaces a recursos abundantes, ayuda a los profesionales a encontrar rápidamente métodos de ingeniería de características adecuados para tipos de datos específicos.