Rule Fit.es
Resumen
- RuleFit extrae reglas de árboles y las combina con variables originales en un modelo lineal disperso.
- La regularización L1 selecciona reglas y variables relevantes, mejorando la interpretabilidad.
- La profundidad de reglas, su cantidad y la fuerza de regularización controlan rendimiento y parsimonia.
Intuicion #
RuleFit convierte trayectorias de árboles en reglas if-then interpretables y luego aprende pesos lineales sobre ellas. Esto combina no linealidad con una lectura clara de qué condiciones pesan más.
Explicacion Detallada #
1. Idea (con fórmulas) #
- Extraer reglas: cada camino hacia una hoja se convierte en (r_j(x) \in {0,1}).
- Agregar términos lineales escalados (z_k(x)).
- Ajustar con L1:
La penalización L1 deja solo los términos relevantes.
2. Conjunto de datos (OpenML: house_sales) #
Precios de viviendas del condado de King (OpenML data_id=42092). Se usan únicamente columnas numéricas.
| |
3. Entrenar RuleFit #
Implementación de Python: christophM/rulefit
| |
4. Revisar las reglas principales #
| |
rule: condición if-then (type=linearsignifica término lineal)coef: coeficiente de regresiónsupport: proporción de observaciones que cumplen la reglaimportance: medida combinada de magnitud y soporte
5. Validar con visualizaciones #
| |
| |
6. Consejos prácticos #
- Tratar outliers (Winsorize, recortes) estabiliza las reglas.
- Limpia variables categóricas y agrupa niveles raros antes de codificarlas.
- Considera transformar objetivos sesgados (
log(y)). - Equilibra número/profundidad de reglas según la audiencia; decide los límites con validación cruzada.
- Resume las reglas más influyentes en lenguaje de negocio para informes ejecutivos.
7. Referencias #
- Friedman, J. H., & Popescu, B. E. (2008). Predictive Learning via Rule Ensembles. The Annals of Applied Statistics, 2(3), 916–954.
- Christoph Molnar. (2020). Interpretable Machine Learning. https://christophm.github.io/interpretable-ml-book/rulefit.html