Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Feature engineering, Unidad 12 — Mini-proyecto de feature engineering, 12.1 — Proyecto guiado ·

Conclusiones razonadas

Conclusiones razonadas: Análisis y optimización de un proyecto de feature engineering

Introducción

Después de pasar por todas las etapas del procesamiento de datos, desde la exploración inicial hasta la transformación y selección adecuada de features, es crucial resumir y razonar sobre el impacto que estos cambios han tenido en nuestro modelo. Esta sección nos permite evaluar si nuestras estrategias para mejorar los datos han conducido a un mejor rendimiento y mayor interpretabilidad del modelo.

Explicación principal con ejemplos

Para ilustrar este punto, consideremos una base de datos de ventas donde el objetivo es predecir las cantidades vendidas. Comenzamos analizando la distribución de las variables numéricas, encontrando que algunas estaban altamente sesgadas y otras presentaban valores extremos.

import pandas as pd
import matplotlib.pyplot as plt

# Cargar datos
df = pd.read_csv('ventas.csv')

# Exploración inicial
plt.figure(figsize=(10, 5))
df['precio'].hist(bins=20)
plt.title('Distribución del precio')
plt.show()

A continuación, aplicamos transformaciones logarítmicas para normalizar la distribución y reducir la influencia de valores extremos:

# Transformación logarítmica
df['precio_log'] = df['precio'].apply(lambda x: np.log(x) if x > 0 else 0)
plt.figure(figsize=(10, 5))
df['precio_log'].hist(bins=20)
plt.title('Distribución del precio después de logaritmizar')
plt.show()

Después de estas transformaciones, volvemos a entrenar nuestro modelo y comparamos los resultados con el modelo original. Observamos que la precisión ha mejorado ligeramente.

Errores típicos / trampas

  1. Feature engineering excesivo: A menudo se puede caer en la tentación de crear tantas features como sea posible, creando una sobrecarga innecesaria de trabajo y dificultades de interpretación del modelo.
  2. Overfitting: Si no estamos cuidadosos con las transformaciones y selección de features, podemos terminar ajustando nuestro modelo a ruido o valores específicos del conjunto de entrenamiento que no son generalizables al conjunto de prueba.
  3. Data leakage: Usar variables que no están disponibles en tiempo real (como el precio final después de una venta) puede llevar a un overfitting y resultados sesgados.

Checklist accionable

  1. Analiza las métricas del modelo antes y después de cada transformación.
  2. Evalúa la distribución y correlaciones entre las nuevas variables con respecto al objetivo.
  3. Comprueba el overfitting utilizando técnicas como validación cruzada.
  4. Evita crear features basadas en la variable a predecir o datos futuros.
  5. Mantén una lista de todas las transformaciones y selecciones realizadas para garantizar la replicabilidad del proceso.

Cierre: Siguientes pasos

  1. Documenta cada paso: Anota todos los cambios realizados en el proceso de feature engineering, incluyendo las métricas antes y después.
  2. Especifica cuáles son los próximos pasos a seguir basándote en las conclusiones obtenidas, como la optimización del modelo o la adición de nuevas variables.
  3. Planifica la implementación del modelo en producción: Considera cómo se manejarán las features transformadas y seleccionadas durante la fase de producción.

Conclusión: El feature engineering es una parte vital del flujo de trabajo de machine learning que puede mejorar significativamente el rendimiento de nuestros modelos, siempre y cuando lo hagamos con cuidado y razonamiento.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).