Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

XGBoost

XGBoost es una biblioteca de gradient boosting que añade árboles de decisión regularizados de uno en uno, y es una de las mejores opciones para datos tabulares. Explica cómo funciona e incluye código.

XGBoost (impulso extremo del gradiente) es una biblioteca de código abierto para árboles de decisión con impulso del gradiente y una de las herramientas más utilizadas para datos tabulares. Tianqi Chen la inició como proyecto de investigación en la Universidad de Washington y la publicó en 2014; el artículo de KDD de 2016 XGBoost: un sistema escalable de impulso de árboles, escrito junto con Carlos Guestrin, describió su función objetivo regularizada y el diseño del sistema. La biblioteca, mantenida por la comunidad DMLC, gestiona clasificación, regresión y clasificación por orden desde Python, R, la JVM y C, funciona en CPU y GPU y escala horizontalmente con Dask y Spark. El artículo indica que 17 de las 29 soluciones ganadoras de competiciones publicadas en el blog de Kaggle en 2015 utilizaron XGBoost.

Cómo funciona XGBoost#

XGBoost crea un conjunto de forma secuencial: parte de una predicción constante y añade un árbol en cada ronda de boosting, cada uno entrenado para reducir la pérdida que dejaron los árboles anteriores. La predicción final suma las salidas de los árboles, cada una reducida por la tasa de aprendizaje (eta, 0.3 de forma predeterminada) para que ningún árbol domine por sí solo. Dos ideas del artículo definen cómo se construye cada árbol:

  • Función objetivo de segundo orden: Para cada fila, XGBoost calcula las derivadas primera y segunda de la pérdida con respecto a la predicción actual: el gradiente g y el hessiano h. Una hoja cuyas filas tienen una suma de gradientes G y una suma de hessianos H recibe el peso -G / (H + λ), el mismo paso de Newton que dan los optimizadores de segundo orden.
  • Árboles regularizados: La función objetivo añade una penalización γ por hoja y una penalización L2 λ sobre los pesos de las hojas, además de una penalización L1 opcional α. Solo se conserva una división cuando su ganancia, ½ [G_L²/(H_L + λ) + G_R²/(H_R + λ) − (G_L + G_R)²/(H_L + H_R + λ)] − γ, es positiva, lo que incorpora la regularización a la construcción del árbol y limita el sobreajuste.

Los árboles tienen una profundidad limitada (max_depth, 6 de forma predeterminada) y crecen nivel a nivel, a menos que grow_policy="lossguide" active el crecimiento por hojas. El entrenamiento suele ejecutarse con parada temprana sobre un conjunto de validación:

Valores ausentes, velocidad y escala#

La búsqueda de divisiones adaptada a la dispersión de XGBoost permite entrenar con tablas que contienen huecos sin una etapa de imputación. En cada división, prueba a enviar a la izquierda y luego a la derecha las filas con un valor ausente, y conserva como rama predeterminada del nodo la dirección con mayor ganancia. El mismo mecanismo permite recorrer únicamente las entradas almacenadas de matrices dispersas, como las codificaciones one-hot. En este ejemplo se oculta el 30 % de todos los valores de características del conjunto de datos de cáncer de mama de scikit-learn y se entrena directamente con los huecos:

import numpy as np
import xgboost as xgb
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# Hide 30% of all values; each split learns a default branch for missing ones
rng = np.random.default_rng(0)
X_train_nan = np.where(rng.random(X_train.shape) < 0.3, np.nan, X_train)
X_test_nan = np.where(rng.random(X_test.shape) < 0.3, np.nan, X_test)

for name, train, test in [("complete", X_train, X_test), ("30% missing", X_train_nan, X_test_nan)]:
    model = xgb.XGBClassifier(n_estimators=200, max_depth=4, learning_rate=0.1)
    model.fit(train, y_train)
    print(f"{name}: accuracy {model.score(test, y_test):.3f}")

Imprime una precisión de prueba de 0.972 con los datos completos y de 0.951 con un 30 % de los valores ausentes tanto en el entrenamiento como en los conjuntos de prueba.

Para acelerar el proceso, el método de árbol predeterminado hist agrupa cada característica en un máximo de 256 intervalos (max_bin) y busca divisiones en los límites de los intervalos, el mismo enfoque que utiliza LightGBM, mientras que exact enumera todos los valores ordenados. Al establecer device="cuda", el entrenamiento pasa a una GPU NVIDIA; enable_categorical=True divide columnas categóricas de forma nativa, y el modo de memoria externa permite entrenar con conjuntos de datos mayores que la RAM. Desde la versión 2.1, los modelos se guardan de forma predeterminada en el formato binario UBJSON.

  • LightGBM: El framework de boosting de Microsoft de 2016, que hace crecer los árboles por hojas de forma predeterminada y añade muestreo de filas basado en gradientes y agrupación de características dispersas. Ambas bibliotecas utilizan ahora histogramas de forma predeterminada y comparten la mayoría de las técnicas.
  • CatBoost: La biblioteca de boosting de Yandex, que crea árboles simétricos y codifica las características categóricas con estadísticas ordenadas del objetivo.
  • Bosque aleatorio: Un método de bagging que entrena árboles profundos de forma independiente con muestras bootstrap y calcula su promedio, lo que reduce la varianza y requiere pocos ajustes.
  • Aprendizaje profundo: El estándar para entradas no estructuradas como imágenes, audio y texto, donde las redes aprenden características a partir de datos sin procesar. En tablas de características diseñadas, los árboles con boosting siguen siendo la referencia que hay que superar, y los modelos fundacionales tabulares, como TabPFN, ya compiten con ellos en conjuntos de datos pequeños.

Aplicaciones en el mundo real#

  • Detección de fraude y riesgo crediticio: Las empresas de pagos puntúan cada transacción a partir del importe, el comercio, la ubicación, el dispositivo y el historial de la cuenta; es una tarea central de modelado predictivo en la que la inferencia rápida de XGBoost se adapta a las decisiones en tiempo real.
  • Inspección visual: Los sistemas de calidad de fabricación combinan datos de cámaras y sensores. Las predicciones de Ultralytics YOLO26 proporcionan la parte de la cámara: result.summary() devuelve la clase, la confianza y las coordenadas de la caja de cada defecto detectado, que una planta puede agrupar por pieza y combinar con lecturas de temperatura y presión como características de un modelo XGBoost que predice averías.
  • Clasificación por orden y predicción de clics: XGBRanker entrena de forma predeterminada con la función objetivo rank:ndcg para ordenar los resultados de búsqueda, y los clasificadores binarios predicen las tasas de clics en anuncios.
  • Problemas que ganan competiciones: El artículo de KDD enumera las tareas que dieron lugar a las soluciones ganadoras de 2015, entre ellas la predicción de ventas en tiendas, la clasificación de eventos de física de altas energías, la clasificación de malware y la predicción del abandono masivo de cursos en línea.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático