Existen una cantidad de características de los boosted trees de las que convendría hablar. No obstante, aquí nos centraremos en dos específicamente: hoy hablaremos de los hiperparámetros y de la interpretabilidad de los boosted trees.
Características de los boosted trees
Hiperparámetros
Entre las características de los boosted trees se encuentran los hiperparámetros, de los cuales mencionaremos los siguientes:
- Número de árboles (iteraciones): si es muy alto el peligro de overfitting. Seleccionamos con validación cruzada.
- Tasa de aprendizaje (learning rate, alpha): número positivo de valor pequeño, normalmente 0.01, 0.001. Está relacionado con el número de iteraciones. Si alpha es pequeño, se necesitarán más iteraciones para que las prestaciones converjan.
- Profundidad del árbol: controlamos la complejidad del árbol. Idealmente interesa que sea pequeña, así la capacidad de generalización es mayor. Se recomienda comenzar con valores pequeños.
Interpretabilidad: partial dependence plots
Entre las características de los boosted trees más destacadas se encuentra que nos da el efecto marginal de cada característica con variable target predicha. Este efecto marginal se puede hacer para regresión y para clasificación. Veamos cada uno de ellos:
- Efecto marginal de cada característica con variable target predicha (para regresión).
Estas características de los boosted trees se llaman partial dependence plots y lo que nos dicen es que tenemos la variable target, que es el número predicho de bicicletas. Fuera de eso tenemos tres variables independientes, es decir, tres predictores distintos: la temperatura, la humedad y la velocidad del viento.
Estos gráficos los podemos sacar con un algoritmo de boosting y lo que nos están diciendo es cómo evoluciona la variable objetivo a medida que variamos cada uno de los predictores. Esto puede reforzar nuestra intuición o hacer que nos demos cuenta de nuestra equivocación.
En el caso de la imagen anterior, vemos cómo, a medida que la temperatura aumenta, partiendo de cero hasta alrededor de 15, el alquiler de bicicletas va subiendo. Esto puede indicarnos que si hace mucho frío no es tan optimista alquilar una bici; en cambio, si está haciendo calor, el alquiler se vuelve una buena opción por distintas razones, ya sea por diversión o por salud.
Así pues, el alquiler de bicis se mantiene más o menos estable en función de la temperatura, hasta que hace demasiado calor y, en ese momento, vuelve a bajar dicha variable.
Con la humedad prácticamente no hay diferencia, a no ser que la humedad empiece a ser muy alta, con lo que el calor se hace insoportable y, por tanto, el alquiler de bicis disminuye.
- Efecto marginal de cada característica con variable target predicha (para clasificación).
En este segundo ejemplo pasa básicamente lo mismo, solo que ahora estamos hablando de la probabilidad de cáncer frente a la edad.
Hay ciertos picos, pero son bastante bajos. A partir de los 40 años sube la probabilidad de padecer de cáncer y luego ya se mantiene estable hasta el final de la vida.
En cuanto a anticonceptivos, la probabilidad de cáncer no cambia con el paso de los años; no obstante, en torno a los 8 años hasta los 15, la probabilidad de padecer de cáncer aumenta demasiado.
Implementaciones
- Scikit learn: Gradient Boosting
- Kaggle: XGBoost
- 5x más rápido que sklearn GradientBoosting
- LightGBM
- ¿Más eficiente todavía?
Árboles de decisión (tree-based models)
Casi todas las características de los boosted trees aplican para cualquier algoritmo basado en árboles, incluidos los árboles de decisión. Algunas de esas características son:
- Captan relaciones no lineales.
- No es necesario escalar variables y, por tanto, no hace falta normalizar.
- Un árbol aislado es muy interpretable, si no es muy profundo. Un árbol no aislado no es tan interpretable, pero sigue siendo bastante más interpretable que otros modelos, porque nos da una predicción, una probabilidad, y de ahí podemos sacar la importancia de las variables.
- El random forest, algoritmo muy robusto, es un muy buen benchmark.
- En general, los algoritmos basados en árboles tienen muy buenas prestaciones si se eligen con cuidado los parámetros libres. La potencia sin control no sirve de nada.
Ahora que hemos visto algunas de las características de los boosted trees, puedes seguir aprendiendo sobre Big Data, una de las disciplinas más demandadas de la actualidad. Para ello tenemos el Bootcamp de Big Data, una formación intensiva e íntegra en la que podrás adquirir todos los conocimientos necesarios para incursionar en el mercado laboral de manera rápida. ¡Anímate y solicita más información ahora!