Blogs

XGBoost
  • Roberto Izquierdo
  • 4925 Views
  • 0 Comment
  • Kaggle . Machine Learning . XGBoost .

En la historia de las competiciones de machine learning de Kaggle suelen dominar dos técnicas: el uso de conjuntos de árboles de decisión para datos estructurados, y de redes neuronales cuando los datos incluyen imágenes o voz. Tradicionalmente Random Forest predominaba en las competiciones de datos estructurados, pero recientemente otro algoritmo ha pasado a dominar las competiciones: Gradient Boosted Trees.

Al igual que RF, GBT clasifica ejemplos mediante el uso de un conjunto de árboles de decisión. En el caso de este segundo, los árboles se construyen secuencialmente, añadiendo en cada iteración el árbol que mejor compense por los errores de los árboles ya existentes. Se le llama método de gradiente porque el modelo evoluciona en dirección al menor error, árbol a árbol.

La herramienta utilizada en estos casos es XGBoost, una implementación de GBT compatible con Python y R. Su éxito en competiciones se debe no solo a su precisión, sino también a la velocidad de iteración que permite. Aún trabajando con un solo core, funciona dos veces más rápido que la biblioteca gbm de R y cuatro veces más rápido que la implementación de scikit-learn en Python. Esto se consigue mediante una serie de optimizaciones en la implementación, que pueden acelerarse aún más gracias a su compatibilidad con sistemas distribuidos, como por ejemplo MPI y Yarn.

Sin título

 

Más información: Paper | Herramienta

Roberto Izquierdo (Data Scientist en Synergic Partners)

0 COMENTARIOS
DEJA TU COMENTARIO

Clientes destacados