Mejora modelos IA: nuevo método optimiza Random Forest

Fuentes: Out of Sample Permutation Feature Importance For Random Forest’s Feature Optimization

Este artículo describe un método para optimizar las características (features) utilizadas en un Random Forest, un algoritmo de aprendizaje automático popular, con el objetivo de mejorar su rendimiento y evitar el sobreajuste (overfitting). El autor, Illya Gerasymchuk, se enfrentaba a un problema: su modelo, diseñado para predecir movimientos de precios de Bitcoin, estaba obteniendo resultados sospechosamente buenos, lo que indicaba un posible sesgo o sobreajuste.

¿Qué es la Importancia de Características por Permutación (Feature Importance)? En esencia, la importancia de una característica indica cuánto afecta su presencia o ausencia al rendimiento del modelo. Si una característica es importante, al aleatorizar sus valores, el modelo se vuelve significativamente menos preciso. El método utilizado aquí, la Importancia de Características por Permutación Fuera de la Muestra (Out of Sample Permutation Feature Importance - OOS), es crucial para obtener una evaluación más fiable de esta importancia. A diferencia de métodos como la Importancia de Gini (que es el método predeterminado en scikit-learn), OOS utiliza un conjunto de datos distinto al utilizado para el entrenamiento. Esto reduce el riesgo de que la evaluación de la importancia de una característica se vea afectada por el ruido presente en los datos de entrenamiento.

¿Cómo funciona OOS Permutation Feature Importance? El proceso consta de tres pasos: 1) Entrenar el Random Forest con los datos de entrenamiento. 2) Tomar un conjunto de datos de validación (o prueba) y, para cada característica, permutar (aleatorizar) sus valores. Luego, se alimenta este conjunto de datos modificado al modelo entrenado. 3) Se mide el rendimiento del modelo con la característica permutada. Si el rendimiento disminuye significativamente, la característica se considera importante.

¿Por qué es mejor OOS que Gini? La Importancia de Gini tiene desventajas: favorece a las variables continuas (sesgo de cardinalidad alta), se calcula solo sobre los datos de entrenamiento, y no maneja bien la correlación entre características (la importancia se divide arbitrariamente entre ellas).

Las Aplicaciones y Conclusiones: El análisis reveló que una característica específica, “seconds_to_settle” (tiempo para liquidar), estaba dominando el modelo, lo que indicaba que el modelo estaba esencialmente aprendiendo a predecir basándose principalmente en la hora del día. Esto llevó a una limpieza de características y a una refactorización de la “fábrica de modelos” para facilitar la configuración y visualización del flujo de trabajo. El autor también menciona que esta mejora en la configuración del pipeline facilitará el descubrimiento y verificación autónoma de estrategias de trading rentables por parte de agentes automatizados, aunque esto se explorará en un artículo posterior. La refactorización utiliza un Lenguaje Específico de Dominio (DSL) para configurar el pipeline, permitiendo una gestión más centralizada y visual.