Recuerdo el día 1 de mi primer trabajo hace quince años. Acababa de terminar mis estudios de posgrado y me uní a un banco de inversión global como analista. En mi primer día, me pasé todo el tiempo arreglándome la corbata e intentando recordar todo lo que había estudiado. Mientras tanto, en mi interior, me preguntaba si sería lo suficientemente bueno para el mundo corporativo. Percibiendo mi ansiedad, mi jefe sonrió y dijo: “¡No te preocupes! ¡Lo único que necesitas saber es la modelización de regresión!” Recuerdo pensando: “¡Lo tengo!” Yo conocía la modelización de regresión; tanto regresión lineal como logística. Mi jefe tenía razón. En mi tiempo allí, construí exclusivamente modelos estadísticos basados en regresión. No estaba solo. De hecho, en ese momento, la modelización de regresión era la indiscutible reina de la analítica predictiva. Rápidamente, quince años después, la era de la modelización de regresión ha terminado. La antigua reina ha pasado. ¡Viva la nueva reina con un nombre extravagante; XGBoost o Extreme Gradient Boosting!

¿Qué es XGBoost? XGBoost es un algoritmo de Machine Learning basado en árboles de decisión que utiliza un marco de trabajo de aumento de gradiente. En problemas de predicción que implican datos no estructurados (imágenes, texto, etc.) las redes neuronales artificiales tienden a superar a todos los demás algoritmos o marcos. Sin embargo, cuando se trata de datos estructurados/tabulares pequeños a medianos, los algoritmos basados en árboles de decisión se consideran los mejores en su clase en la actualidad.

El algoritmo XGBoost se desarrolló como un proyecto de investigación en la Universidad de Washington. Tianqi Chen y Carlos Guestrin presentaron su trabajo en la Conferencia SIGKDD en 2016 y captaron la atención del mundo del Machine Learning. Desde su introducción, este algoritmo no solo ha sido reconocido por ganar numerosas competencias de Kaggle, sino también por ser la fuerza motriz detrás de varias aplicaciones industriales de vanguardia.

Existen varios aspectos que diferencian a este algoritmo:

  1. Una amplia gama de aplicaciones: Puede usarse para solucionar problemas de regresión, clasificación, ranking y predicciones definidas por el usuario.
  2. Portabilidad: Funciona sin problemas en Windows, Linux y OS X.
  3. Lenguajes: Admite todos los principales lenguajes de programación, incluyendo C++, Python, R, Java, Scala y Julia.
  4. Integración en la nube: Es compatible con clústeres en AWS, Azure y Yarn, y funciona bien con Flink, Spark y otros ecosistemas.

¿Cómo construir una intuición para XGBoost? Los árboles de decisión, en su forma más simple, son algoritmos fáciles de visualizar e interpretables, pero desarrollar una intuición para la siguiente generación de algoritmos basados en árboles puede ser un poco complicado. Vamos a utilizar una simple analogía para comprender mejor la evolución de los algoritmos basados en árboles.

Imagina que eres un gerente de contratación entrevistando a varios candidatos con excelentes calificaciones. Cada etapa de la evolución de los algoritmos basados en árboles se puede ver como una versión del proceso de entrevista:

  1. Árbol de Decisión
  2. Bagging
  3. Random Forest
  4. Boosting
  5. Gradient Boosting
  6. XGBoost

Continúa leyendo en nuestro sitio para conocer más sobre por qué XGBoost es considerada la reina de los algoritmos de Machine Learning y cómo se optimiza para lograr resultados superiores.

Source: Medium