Capítulo 3: El papel de la ingeniería de características en el aprendizaje automático
3.4 ¿Qué Podría Salir Mal?
Si bien la ingeniería de características puede mejorar significativamente el rendimiento de tu modelo de Machine Learning, existen algunos posibles inconvenientes que debes tener en cuenta. Esta sección resalta algunos problemas comunes que podrían surgir durante la ingeniería de características y cómo evitarlos.
3.4.1 Sobreajuste con Demasiadas Características
Crear muchas características, especialmente características de interacción y transformaciones, puede conducir al sobreajuste. El sobreajuste ocurre cuando un modelo funciona excepcionalmente bien en los datos de entrenamiento pero no generaliza bien a datos no vistos.
¿Qué podría salir mal?
- Agregar demasiadas características de interacción, características polinómicas o características excesivamente específicas puede hacer que el modelo sea demasiado complejo, capturando ruido en lugar de los patrones reales en los datos.
- El modelo puede tener alta precisión en el conjunto de entrenamiento, pero un rendimiento pobre en el conjunto de prueba debido al sobreajuste.
Solución:
- Utiliza técnicas como la validación cruzada para evaluar el rendimiento del modelo en múltiples divisiones de datos.
- Regulariza tu modelo (por ejemplo, usando Lasso o Regresión Ridge) para penalizar la complejidad excesiva de las características.
- Aplica métodos de selección de características, como Eliminación Recursiva de Características (RFE), para identificar y eliminar características innecesarias.
3.4.2 Multicolinealidad
La multicolinealidad ocurre cuando dos o más características están altamente correlacionadas entre sí. Esto puede confundir al modelo y llevar a predicciones inestables, ya que el modelo lucha por determinar qué característica es más importante.
¿Qué podría salir mal?
- Si varias características están correlacionadas, el modelo puede dar importancia excesiva a ciertas variables, distorsionando los resultados.
- La multicolinealidad puede inflar la varianza de los coeficientes del modelo, haciendo que el modelo sea sensible a pequeños cambios en los datos.
Solución:
- Usa análisis de correlación o el Factor de Inflación de Varianza (VIF) para detectar multicolinealidad en tu conjunto de datos.
- Elimina o combina características altamente correlacionadas para reducir la redundancia.
- Considera el uso de Análisis de Componentes Principales (PCA) para transformar características correlacionadas en componentes no correlacionados.
3.4.3 Fugas de Datos
La fuga de datos ocurre cuando la información del conjunto de prueba influye accidentalmente en el proceso de entrenamiento, lo que lleva a estimaciones de rendimiento excesivamente optimistas.
¿Qué podría salir mal?
- Si la ingeniería de características se realiza en todo el conjunto de datos (tanto en el de entrenamiento como en el de prueba) antes de dividirlos, el modelo puede aprender información que no debería tener, lo que lleva a evaluaciones sesgadas.
- Usar codificación basada en el objetivo sin una validación cruzada adecuada puede conducir a una fuga de datos, ya que la variable objetivo influye directamente en las características durante el entrenamiento.
Solución:
- Siempre divide tus datos en conjuntos de entrenamiento y prueba antes de aplicar la ingeniería de características para evitar fugas.
- Cuando uses técnicas como la codificación basada en el objetivo, asegúrate de que la codificación se realice dentro de los pliegues de la validación cruzada para evitar que la información del objetivo se filtre en el proceso de entrenamiento.
3.4.4 Interpretación Incorrecta de Características Basadas en el Tiempo
Cuando trabajas con características basadas en el tiempo, es fácil introducir errores al ignorar la naturaleza temporal de los datos. Por ejemplo, usar información futura (como ventas futuras) en una característica puede llevar a un rendimiento irreal del modelo.
¿Qué podría salir mal?
- Si tu ingeniería de características utiliza información del futuro (por ejemplo, usando datos de ventas de meses futuros para predecir el mes actual), el modelo parecerá muy preciso durante el entrenamiento, pero fallará en datos del mundo real.
- Extraer características basadas en el tiempo sin considerar la estacionalidad o los patrones temporales puede llevar a características incompletas o engañosas.
Solución:
- Ten precaución al manejar datos basados en el tiempo. Asegúrate de que tus características solo utilicen información disponible hasta el momento de la predicción.
- Usa técnicas de validación cruzada de series de tiempo, como la validación de ventana móvil, para garantizar que tu modelo se evalúe correctamente en datos basados en el tiempo.
3.4.5 Escalado Incorrecto de Características
Algunos algoritmos de Machine Learning, especialmente aquellos que dependen de métricas de distancia (como KNN o SVM), son sensibles a la escala de las características de entrada. Si las características tienen diferentes escalas, esto puede impactar negativamente en el rendimiento del modelo.
¿Qué podría salir mal?
- Las características con rangos más grandes (por ejemplo, superficie en pies cuadrados en bienes raíces) pueden dominar características con rangos más pequeños (por ejemplo, número de baños), lo que lleva a predicciones sesgadas del modelo.
- El modelo podría tener dificultades para converger durante el entrenamiento si ciertas características dominan a otras debido a las diferencias de escala.
Solución:
- Normaliza o estandariza tus características, especialmente al usar algoritmos como KNN, SVM o redes neuronales. Usa MinMaxScaler o StandardScaler de Scikit-learn para asegurar que las características estén en la misma escala.
- Para modelos basados en árboles como Random Forest o XGBoost, generalmente no se requiere escalado, ya que son menos sensibles al escalado de características.
3.4.6 Ignorar el Conocimiento del Dominio
Si bien las técnicas automáticas de ingeniería de características pueden ser poderosas, es esencial no pasar por alto la importancia de la experiencia en el dominio. Confiar únicamente en algoritmos para generar características sin incorporar conocimiento del dominio puede llevar a un rendimiento subóptimo.
¿Qué podría salir mal?
- No incorporar ideas específicas del dominio puede hacer que se pasen por alto características cruciales que los algoritmos podrían no identificar automáticamente.
- Las características generadas automáticamente podrían no capturar patrones significativos específicos de tu conjunto de datos, lo que llevaría a un modelo que funcione mal en aplicaciones del mundo real.
Solución:
- Aprovecha el conocimiento del dominio para guiar tu proceso de ingeniería de características. Consulta con expertos en el tema para identificar posibles características que podrían no ser obvias solo a través de los datos.
- Usa técnicas de selección de características automáticas en conjunto con la experiencia en el dominio para asegurar que se incluyan las características más relevantes.
3.4 ¿Qué Podría Salir Mal?
Si bien la ingeniería de características puede mejorar significativamente el rendimiento de tu modelo de Machine Learning, existen algunos posibles inconvenientes que debes tener en cuenta. Esta sección resalta algunos problemas comunes que podrían surgir durante la ingeniería de características y cómo evitarlos.
3.4.1 Sobreajuste con Demasiadas Características
Crear muchas características, especialmente características de interacción y transformaciones, puede conducir al sobreajuste. El sobreajuste ocurre cuando un modelo funciona excepcionalmente bien en los datos de entrenamiento pero no generaliza bien a datos no vistos.
¿Qué podría salir mal?
- Agregar demasiadas características de interacción, características polinómicas o características excesivamente específicas puede hacer que el modelo sea demasiado complejo, capturando ruido en lugar de los patrones reales en los datos.
- El modelo puede tener alta precisión en el conjunto de entrenamiento, pero un rendimiento pobre en el conjunto de prueba debido al sobreajuste.
Solución:
- Utiliza técnicas como la validación cruzada para evaluar el rendimiento del modelo en múltiples divisiones de datos.
- Regulariza tu modelo (por ejemplo, usando Lasso o Regresión Ridge) para penalizar la complejidad excesiva de las características.
- Aplica métodos de selección de características, como Eliminación Recursiva de Características (RFE), para identificar y eliminar características innecesarias.
3.4.2 Multicolinealidad
La multicolinealidad ocurre cuando dos o más características están altamente correlacionadas entre sí. Esto puede confundir al modelo y llevar a predicciones inestables, ya que el modelo lucha por determinar qué característica es más importante.
¿Qué podría salir mal?
- Si varias características están correlacionadas, el modelo puede dar importancia excesiva a ciertas variables, distorsionando los resultados.
- La multicolinealidad puede inflar la varianza de los coeficientes del modelo, haciendo que el modelo sea sensible a pequeños cambios en los datos.
Solución:
- Usa análisis de correlación o el Factor de Inflación de Varianza (VIF) para detectar multicolinealidad en tu conjunto de datos.
- Elimina o combina características altamente correlacionadas para reducir la redundancia.
- Considera el uso de Análisis de Componentes Principales (PCA) para transformar características correlacionadas en componentes no correlacionados.
3.4.3 Fugas de Datos
La fuga de datos ocurre cuando la información del conjunto de prueba influye accidentalmente en el proceso de entrenamiento, lo que lleva a estimaciones de rendimiento excesivamente optimistas.
¿Qué podría salir mal?
- Si la ingeniería de características se realiza en todo el conjunto de datos (tanto en el de entrenamiento como en el de prueba) antes de dividirlos, el modelo puede aprender información que no debería tener, lo que lleva a evaluaciones sesgadas.
- Usar codificación basada en el objetivo sin una validación cruzada adecuada puede conducir a una fuga de datos, ya que la variable objetivo influye directamente en las características durante el entrenamiento.
Solución:
- Siempre divide tus datos en conjuntos de entrenamiento y prueba antes de aplicar la ingeniería de características para evitar fugas.
- Cuando uses técnicas como la codificación basada en el objetivo, asegúrate de que la codificación se realice dentro de los pliegues de la validación cruzada para evitar que la información del objetivo se filtre en el proceso de entrenamiento.
3.4.4 Interpretación Incorrecta de Características Basadas en el Tiempo
Cuando trabajas con características basadas en el tiempo, es fácil introducir errores al ignorar la naturaleza temporal de los datos. Por ejemplo, usar información futura (como ventas futuras) en una característica puede llevar a un rendimiento irreal del modelo.
¿Qué podría salir mal?
- Si tu ingeniería de características utiliza información del futuro (por ejemplo, usando datos de ventas de meses futuros para predecir el mes actual), el modelo parecerá muy preciso durante el entrenamiento, pero fallará en datos del mundo real.
- Extraer características basadas en el tiempo sin considerar la estacionalidad o los patrones temporales puede llevar a características incompletas o engañosas.
Solución:
- Ten precaución al manejar datos basados en el tiempo. Asegúrate de que tus características solo utilicen información disponible hasta el momento de la predicción.
- Usa técnicas de validación cruzada de series de tiempo, como la validación de ventana móvil, para garantizar que tu modelo se evalúe correctamente en datos basados en el tiempo.
3.4.5 Escalado Incorrecto de Características
Algunos algoritmos de Machine Learning, especialmente aquellos que dependen de métricas de distancia (como KNN o SVM), son sensibles a la escala de las características de entrada. Si las características tienen diferentes escalas, esto puede impactar negativamente en el rendimiento del modelo.
¿Qué podría salir mal?
- Las características con rangos más grandes (por ejemplo, superficie en pies cuadrados en bienes raíces) pueden dominar características con rangos más pequeños (por ejemplo, número de baños), lo que lleva a predicciones sesgadas del modelo.
- El modelo podría tener dificultades para converger durante el entrenamiento si ciertas características dominan a otras debido a las diferencias de escala.
Solución:
- Normaliza o estandariza tus características, especialmente al usar algoritmos como KNN, SVM o redes neuronales. Usa MinMaxScaler o StandardScaler de Scikit-learn para asegurar que las características estén en la misma escala.
- Para modelos basados en árboles como Random Forest o XGBoost, generalmente no se requiere escalado, ya que son menos sensibles al escalado de características.
3.4.6 Ignorar el Conocimiento del Dominio
Si bien las técnicas automáticas de ingeniería de características pueden ser poderosas, es esencial no pasar por alto la importancia de la experiencia en el dominio. Confiar únicamente en algoritmos para generar características sin incorporar conocimiento del dominio puede llevar a un rendimiento subóptimo.
¿Qué podría salir mal?
- No incorporar ideas específicas del dominio puede hacer que se pasen por alto características cruciales que los algoritmos podrían no identificar automáticamente.
- Las características generadas automáticamente podrían no capturar patrones significativos específicos de tu conjunto de datos, lo que llevaría a un modelo que funcione mal en aplicaciones del mundo real.
Solución:
- Aprovecha el conocimiento del dominio para guiar tu proceso de ingeniería de características. Consulta con expertos en el tema para identificar posibles características que podrían no ser obvias solo a través de los datos.
- Usa técnicas de selección de características automáticas en conjunto con la experiencia en el dominio para asegurar que se incluyan las características más relevantes.
3.4 ¿Qué Podría Salir Mal?
Si bien la ingeniería de características puede mejorar significativamente el rendimiento de tu modelo de Machine Learning, existen algunos posibles inconvenientes que debes tener en cuenta. Esta sección resalta algunos problemas comunes que podrían surgir durante la ingeniería de características y cómo evitarlos.
3.4.1 Sobreajuste con Demasiadas Características
Crear muchas características, especialmente características de interacción y transformaciones, puede conducir al sobreajuste. El sobreajuste ocurre cuando un modelo funciona excepcionalmente bien en los datos de entrenamiento pero no generaliza bien a datos no vistos.
¿Qué podría salir mal?
- Agregar demasiadas características de interacción, características polinómicas o características excesivamente específicas puede hacer que el modelo sea demasiado complejo, capturando ruido en lugar de los patrones reales en los datos.
- El modelo puede tener alta precisión en el conjunto de entrenamiento, pero un rendimiento pobre en el conjunto de prueba debido al sobreajuste.
Solución:
- Utiliza técnicas como la validación cruzada para evaluar el rendimiento del modelo en múltiples divisiones de datos.
- Regulariza tu modelo (por ejemplo, usando Lasso o Regresión Ridge) para penalizar la complejidad excesiva de las características.
- Aplica métodos de selección de características, como Eliminación Recursiva de Características (RFE), para identificar y eliminar características innecesarias.
3.4.2 Multicolinealidad
La multicolinealidad ocurre cuando dos o más características están altamente correlacionadas entre sí. Esto puede confundir al modelo y llevar a predicciones inestables, ya que el modelo lucha por determinar qué característica es más importante.
¿Qué podría salir mal?
- Si varias características están correlacionadas, el modelo puede dar importancia excesiva a ciertas variables, distorsionando los resultados.
- La multicolinealidad puede inflar la varianza de los coeficientes del modelo, haciendo que el modelo sea sensible a pequeños cambios en los datos.
Solución:
- Usa análisis de correlación o el Factor de Inflación de Varianza (VIF) para detectar multicolinealidad en tu conjunto de datos.
- Elimina o combina características altamente correlacionadas para reducir la redundancia.
- Considera el uso de Análisis de Componentes Principales (PCA) para transformar características correlacionadas en componentes no correlacionados.
3.4.3 Fugas de Datos
La fuga de datos ocurre cuando la información del conjunto de prueba influye accidentalmente en el proceso de entrenamiento, lo que lleva a estimaciones de rendimiento excesivamente optimistas.
¿Qué podría salir mal?
- Si la ingeniería de características se realiza en todo el conjunto de datos (tanto en el de entrenamiento como en el de prueba) antes de dividirlos, el modelo puede aprender información que no debería tener, lo que lleva a evaluaciones sesgadas.
- Usar codificación basada en el objetivo sin una validación cruzada adecuada puede conducir a una fuga de datos, ya que la variable objetivo influye directamente en las características durante el entrenamiento.
Solución:
- Siempre divide tus datos en conjuntos de entrenamiento y prueba antes de aplicar la ingeniería de características para evitar fugas.
- Cuando uses técnicas como la codificación basada en el objetivo, asegúrate de que la codificación se realice dentro de los pliegues de la validación cruzada para evitar que la información del objetivo se filtre en el proceso de entrenamiento.
3.4.4 Interpretación Incorrecta de Características Basadas en el Tiempo
Cuando trabajas con características basadas en el tiempo, es fácil introducir errores al ignorar la naturaleza temporal de los datos. Por ejemplo, usar información futura (como ventas futuras) en una característica puede llevar a un rendimiento irreal del modelo.
¿Qué podría salir mal?
- Si tu ingeniería de características utiliza información del futuro (por ejemplo, usando datos de ventas de meses futuros para predecir el mes actual), el modelo parecerá muy preciso durante el entrenamiento, pero fallará en datos del mundo real.
- Extraer características basadas en el tiempo sin considerar la estacionalidad o los patrones temporales puede llevar a características incompletas o engañosas.
Solución:
- Ten precaución al manejar datos basados en el tiempo. Asegúrate de que tus características solo utilicen información disponible hasta el momento de la predicción.
- Usa técnicas de validación cruzada de series de tiempo, como la validación de ventana móvil, para garantizar que tu modelo se evalúe correctamente en datos basados en el tiempo.
3.4.5 Escalado Incorrecto de Características
Algunos algoritmos de Machine Learning, especialmente aquellos que dependen de métricas de distancia (como KNN o SVM), son sensibles a la escala de las características de entrada. Si las características tienen diferentes escalas, esto puede impactar negativamente en el rendimiento del modelo.
¿Qué podría salir mal?
- Las características con rangos más grandes (por ejemplo, superficie en pies cuadrados en bienes raíces) pueden dominar características con rangos más pequeños (por ejemplo, número de baños), lo que lleva a predicciones sesgadas del modelo.
- El modelo podría tener dificultades para converger durante el entrenamiento si ciertas características dominan a otras debido a las diferencias de escala.
Solución:
- Normaliza o estandariza tus características, especialmente al usar algoritmos como KNN, SVM o redes neuronales. Usa MinMaxScaler o StandardScaler de Scikit-learn para asegurar que las características estén en la misma escala.
- Para modelos basados en árboles como Random Forest o XGBoost, generalmente no se requiere escalado, ya que son menos sensibles al escalado de características.
3.4.6 Ignorar el Conocimiento del Dominio
Si bien las técnicas automáticas de ingeniería de características pueden ser poderosas, es esencial no pasar por alto la importancia de la experiencia en el dominio. Confiar únicamente en algoritmos para generar características sin incorporar conocimiento del dominio puede llevar a un rendimiento subóptimo.
¿Qué podría salir mal?
- No incorporar ideas específicas del dominio puede hacer que se pasen por alto características cruciales que los algoritmos podrían no identificar automáticamente.
- Las características generadas automáticamente podrían no capturar patrones significativos específicos de tu conjunto de datos, lo que llevaría a un modelo que funcione mal en aplicaciones del mundo real.
Solución:
- Aprovecha el conocimiento del dominio para guiar tu proceso de ingeniería de características. Consulta con expertos en el tema para identificar posibles características que podrían no ser obvias solo a través de los datos.
- Usa técnicas de selección de características automáticas en conjunto con la experiencia en el dominio para asegurar que se incluyan las características más relevantes.
3.4 ¿Qué Podría Salir Mal?
Si bien la ingeniería de características puede mejorar significativamente el rendimiento de tu modelo de Machine Learning, existen algunos posibles inconvenientes que debes tener en cuenta. Esta sección resalta algunos problemas comunes que podrían surgir durante la ingeniería de características y cómo evitarlos.
3.4.1 Sobreajuste con Demasiadas Características
Crear muchas características, especialmente características de interacción y transformaciones, puede conducir al sobreajuste. El sobreajuste ocurre cuando un modelo funciona excepcionalmente bien en los datos de entrenamiento pero no generaliza bien a datos no vistos.
¿Qué podría salir mal?
- Agregar demasiadas características de interacción, características polinómicas o características excesivamente específicas puede hacer que el modelo sea demasiado complejo, capturando ruido en lugar de los patrones reales en los datos.
- El modelo puede tener alta precisión en el conjunto de entrenamiento, pero un rendimiento pobre en el conjunto de prueba debido al sobreajuste.
Solución:
- Utiliza técnicas como la validación cruzada para evaluar el rendimiento del modelo en múltiples divisiones de datos.
- Regulariza tu modelo (por ejemplo, usando Lasso o Regresión Ridge) para penalizar la complejidad excesiva de las características.
- Aplica métodos de selección de características, como Eliminación Recursiva de Características (RFE), para identificar y eliminar características innecesarias.
3.4.2 Multicolinealidad
La multicolinealidad ocurre cuando dos o más características están altamente correlacionadas entre sí. Esto puede confundir al modelo y llevar a predicciones inestables, ya que el modelo lucha por determinar qué característica es más importante.
¿Qué podría salir mal?
- Si varias características están correlacionadas, el modelo puede dar importancia excesiva a ciertas variables, distorsionando los resultados.
- La multicolinealidad puede inflar la varianza de los coeficientes del modelo, haciendo que el modelo sea sensible a pequeños cambios en los datos.
Solución:
- Usa análisis de correlación o el Factor de Inflación de Varianza (VIF) para detectar multicolinealidad en tu conjunto de datos.
- Elimina o combina características altamente correlacionadas para reducir la redundancia.
- Considera el uso de Análisis de Componentes Principales (PCA) para transformar características correlacionadas en componentes no correlacionados.
3.4.3 Fugas de Datos
La fuga de datos ocurre cuando la información del conjunto de prueba influye accidentalmente en el proceso de entrenamiento, lo que lleva a estimaciones de rendimiento excesivamente optimistas.
¿Qué podría salir mal?
- Si la ingeniería de características se realiza en todo el conjunto de datos (tanto en el de entrenamiento como en el de prueba) antes de dividirlos, el modelo puede aprender información que no debería tener, lo que lleva a evaluaciones sesgadas.
- Usar codificación basada en el objetivo sin una validación cruzada adecuada puede conducir a una fuga de datos, ya que la variable objetivo influye directamente en las características durante el entrenamiento.
Solución:
- Siempre divide tus datos en conjuntos de entrenamiento y prueba antes de aplicar la ingeniería de características para evitar fugas.
- Cuando uses técnicas como la codificación basada en el objetivo, asegúrate de que la codificación se realice dentro de los pliegues de la validación cruzada para evitar que la información del objetivo se filtre en el proceso de entrenamiento.
3.4.4 Interpretación Incorrecta de Características Basadas en el Tiempo
Cuando trabajas con características basadas en el tiempo, es fácil introducir errores al ignorar la naturaleza temporal de los datos. Por ejemplo, usar información futura (como ventas futuras) en una característica puede llevar a un rendimiento irreal del modelo.
¿Qué podría salir mal?
- Si tu ingeniería de características utiliza información del futuro (por ejemplo, usando datos de ventas de meses futuros para predecir el mes actual), el modelo parecerá muy preciso durante el entrenamiento, pero fallará en datos del mundo real.
- Extraer características basadas en el tiempo sin considerar la estacionalidad o los patrones temporales puede llevar a características incompletas o engañosas.
Solución:
- Ten precaución al manejar datos basados en el tiempo. Asegúrate de que tus características solo utilicen información disponible hasta el momento de la predicción.
- Usa técnicas de validación cruzada de series de tiempo, como la validación de ventana móvil, para garantizar que tu modelo se evalúe correctamente en datos basados en el tiempo.
3.4.5 Escalado Incorrecto de Características
Algunos algoritmos de Machine Learning, especialmente aquellos que dependen de métricas de distancia (como KNN o SVM), son sensibles a la escala de las características de entrada. Si las características tienen diferentes escalas, esto puede impactar negativamente en el rendimiento del modelo.
¿Qué podría salir mal?
- Las características con rangos más grandes (por ejemplo, superficie en pies cuadrados en bienes raíces) pueden dominar características con rangos más pequeños (por ejemplo, número de baños), lo que lleva a predicciones sesgadas del modelo.
- El modelo podría tener dificultades para converger durante el entrenamiento si ciertas características dominan a otras debido a las diferencias de escala.
Solución:
- Normaliza o estandariza tus características, especialmente al usar algoritmos como KNN, SVM o redes neuronales. Usa MinMaxScaler o StandardScaler de Scikit-learn para asegurar que las características estén en la misma escala.
- Para modelos basados en árboles como Random Forest o XGBoost, generalmente no se requiere escalado, ya que son menos sensibles al escalado de características.
3.4.6 Ignorar el Conocimiento del Dominio
Si bien las técnicas automáticas de ingeniería de características pueden ser poderosas, es esencial no pasar por alto la importancia de la experiencia en el dominio. Confiar únicamente en algoritmos para generar características sin incorporar conocimiento del dominio puede llevar a un rendimiento subóptimo.
¿Qué podría salir mal?
- No incorporar ideas específicas del dominio puede hacer que se pasen por alto características cruciales que los algoritmos podrían no identificar automáticamente.
- Las características generadas automáticamente podrían no capturar patrones significativos específicos de tu conjunto de datos, lo que llevaría a un modelo que funcione mal en aplicaciones del mundo real.
Solución:
- Aprovecha el conocimiento del dominio para guiar tu proceso de ingeniería de características. Consulta con expertos en el tema para identificar posibles características que podrían no ser obvias solo a través de los datos.
- Usa técnicas de selección de características automáticas en conjunto con la experiencia en el dominio para asegurar que se incluyan las características más relevantes.