Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Feature engineering, Unidad 6 — Creación de nuevas features, 6.1 — Features derivadas ·

Features de dominio

Features de dominio

Introducción

En el campo de la ciencia de datos, features de dominio son variables que se crean a partir de conocimientos específicos del problema o del dominio en cuestión. Estas features son esenciales porque pueden capturar información relevante y contextual que los modelos de machine learning podrían no poder aprender por sí mismos desde las features brutas disponibles. Sin embargo, la creación de estas features implica un análisis cuidadoso para evitar errores comunes que puedan llevar a modelos subóptimos o sesgados.

Explicación principal

Las features de dominio son variables que se derivan de una combinación de otras features existentes. Estas pueden ser tan simples como una ratio, una diferencia entre dos variables, o tan complejas como un índice compuesto basado en múltiples factores. La clave para la creación efectiva de estas features es entender completamente el problema y el dominio.

Ejemplo: Predicción del precio de viviendas

Supongamos que estamos trabajando en una tarea de regresión donde queremos predecir los precios de las viviendas basándonos en varias variables. Una feature de dominio que podríamos crear es la rentabilidad, definida como el ratio entre el precio de venta y el área total de la vivienda.

import pandas as pd

# Supongamos un DataFrame 'df' con las siguientes columnas: 'precio_venta', 'area_total'

def calcular_rentabilidad(df):
    df['rentabilidad'] = df['precio_venta'] / df['area_total']
    return df

df = calcular_rentabilidad(df)

En este ejemplo, la feature rentabilidad captura información relevante sobre cómo el precio de venta se relaciona con el área total del espacio habitable. Este tipo de features a menudo mejoran la precisión del modelo.

Errores típicos / trampas

  1. Feature sin sentido: Crear una feature basada en datos que no tienen relación alguna con el problema puede llevar al overfitting y reducir la generalización del modelo. Por ejemplo, crear una feature como precio_total = precio_venta + random_noise no aporta información útil.
  1. Incorporación de variables futuras: Las features deben basarse en datos disponibles durante el periodo de entrenamiento o test, no en información posterior. Incorporar un dato futuro puede dar al modelo la capacidad de "prever" eventos que aún no han ocurrido, lo cual es una forma de overfitting.
  1. Feature engañosas: Algunas features pueden parecer relevantes pero en realidad estén sesgadas o basadas en patrones artificiosos del conjunto de datos de entrenamiento. Por ejemplo, si el precio de venta de las viviendas aumenta significativamente durante ciertos meses del año, una feature que utiliza solo esa información podría ser engañosa.

Checklist accionable

  1. Analiza cuidadosamente tus datos: Comprueba que la feature nueva tiene sentido en tu dominio.
  2. Evita variables futuras: Asegúrate de no usar datos que no estarán disponibles durante el periodo del modelo.
  3. Verifica su relevancia: Evalúa si la feature captura información útil o es simplemente una variante de los datos existentes.
  4. Evaluación en conjunto de test: Prueba tu feature con un conjunto de datos de prueba para evitar overfitting.
  5. Comparar rendimiento: Compara el rendimiento del modelo antes y después de agregar la nueva feature.

Cierre

La creación efectiva de features de dominio es crucial para mejorar el rendimiento de los modelos de machine learning. Sin embargo, es importante ser consciente de los errores comunes que pueden llevar a una mala utilización de estas features. Siguiendo las mejores prácticas y manteniéndose alerta a estos riesgos, puedes asegurarte de que tus features son útiles y no perjudiciales.

Siguientes pasos

  1. Implementar en proyectos: Aplica estas técnicas en tus próximos proyectos para mejorar el rendimiento del modelo.
  2. Evaluación y validación: Utiliza un conjunto de test para evaluar la efectividad de las features nuevas.
  3. Documentación: Documenta claramente cómo se crean las features, especialmente si trabajas en equipo.

Siguiendo estos pasos, podrás crear features de dominio que aporten valor real a tus modelos y mejoras significativas en su rendimiento.

Contacto

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