Ingeniería automatizada de características con Featuretools
EntitySet, DFS (Deep Feature Synthesis), primitivas de características y agregaciones apiladas.
Ingeniería automatizada de características con Featuretools es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Automatización de la creación de características
La ingeniería manual de características es lenta y facilita pasar por alto combinaciones. Featuretools crea automáticamente muchas características candidatas a partir de datos relacionales mediante un método llamado Deep Feature Synthesis.
Datos relacionales y entidades
Los datos reales suelen abarcar varias tablas relacionadas: clientes, pedidos y productos. Featuretools modela estas relaciones y genera automáticamente características que agregan información a través de los vínculos.
Creación de un EntitySet
Un EntitySet es el contenedor que almacena sus dataframes y las relaciones entre ellos. Comience creando uno vacío.
import featuretools as ft
es = ft.EntitySet(id="customers_data")Adición de dataframes
es.add_dataframe registra una tabla. Debe especificar su index (clave única) y, opcionalmente, un time_index para datos temporales.
import featuretools as ft
es = es.add_dataframe(
dataframe_name="customers",
dataframe=customers_df,
index="customer_id",
)
es = es.add_dataframe(
dataframe_name="orders",
dataframe=orders_df,
index="order_id",
time_index="order_date",
)Definición de relaciones
Indique a Featuretools cómo se conectan las tablas mediante add_relationship: una clave de la tabla padre se vincula con una clave foránea de la tabla hija (un cliente tiene muchos pedidos).
es = es.add_relationship(
"customers", "customer_id",
"orders", "customer_id",
)Deep Feature Synthesis
DFS (ft.dfs) es el motor. Encadena operaciones a través de las relaciones para crear características como "valor medio de los pedidos por cliente" sin que tenga que programar cada una.
import featuretools as ft
feature_matrix, feature_defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
)Primitivas de agregación
Las primitivas de agregación resumen las filas hijas en la fila padre: SUM, MEAN, COUNT, MAX y STD. Convierten muchos pedidos en estadísticas por cliente.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
agg_primitives=["mean", "sum", "count", "max"],
)Primitivas de transformación
Las primitivas de transformación operan dentro de una sola fila o tabla: extraer el mes de una fecha, calcular el tiempo transcurrido o tomar valores absolutos.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
trans_primitives=["month", "weekday", "time_since_previous"],
)Control de la profundidad con max_depth
max_depth limita la cantidad de primitivas que se pueden encadenar. La profundidad 1 corresponde a agregaciones directas; la profundidad 2 aplica una transformación y después una agregación (por ejemplo, la media del día de la semana de los pedidos). Una mayor profundidad genera más características, pero también más riesgosas.
feature_matrix, defs = ft.dfs(
entityset=es,
target_dataframe_name="customers",
max_depth=2,
)Uso de la matriz de características
La feature_matrix resultante es un dataframe limpio indexado por la entidad objetivo, listo para introducirlo en un modelo. feature_defs documenta cada característica generada.
print(feature_matrix.shape)
print(feature_matrix.head())
X = feature_matrix.fillna(0)
# now train any sklearn model on XVentajas y precauciones
Featuretools produce rápidamente muchas características y descubre patrones relacionales. Sin embargo, puede generar cientos de columnas, por lo que debe combinarlo con una selección de características. Evite la fuga de información estableciendo un cutoff_time adecuado cuando trabaje con datos temporales.
Comprobación rápida
Compruebe sus conocimientos sobre Featuretools.
Repaso
Repaso: Featuretools automatiza la ingeniería de características. Cree un EntitySet, registre las tablas con es.add_dataframe, defina las relaciones y ejecute ft.dfs con max_depth. Las primitivas de agregación resumen las filas hijas en las filas padre; las primitivas de transformación operan dentro de una fila. La feature_matrix está lista para el modelo; combínela con una selección de características.
Preguntas frecuentes
¿La lección «Ingeniería automatizada de características con Featuretools» es gratis?
Sí — el texto completo de «Ingeniería automatizada de características con Featuretools» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Ingeniería automatizada de características con Featuretools»?
EntitySet, DFS (Deep Feature Synthesis), primitivas de características y agregaciones apiladas. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Ingeniería automatizada de características con Featuretools»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Métodos de selección de características
- Creación de características de interacción y polinómicas
- Target encoding y gestión avanzada de variables categóricas
- Ingeniería automatizada de características con Featuretools