Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

XGBoost

XGBoost é uma biblioteca de gradient boosting que adiciona árvores de decisão regularizadas uma de cada vez, uma das principais opções para dados tabulares. Como funciona, com código.

XGBoost (eXtreme Gradient Boosting) é uma biblioteca de código aberto para árvores de decisão com boosting de gradiente e uma das ferramentas mais usadas para dados tabulares. Tianqi Chen iniciou o projeto como uma pesquisa na Universidade de Washington e o lançou em 2014; o artigo da KDD de 2016 XGBoost: um sistema escalável de boosting de árvores, escrito com Carlos Guestrin, descreveu seu objetivo regularizado e o projeto do sistema. A biblioteca, mantida pela comunidade DMLC, lida com classificação, regressão e ranqueamento em Python, R, JVM e C, é executada em CPUs e GPUs e escala horizontalmente com Dask e Spark. O artigo relata que 17 das 29 soluções vencedoras de desafios publicadas no blog do Kaggle em 2015 usaram XGBoost.

Como o XGBoost funciona#

O XGBoost constrói um ensemble sequencialmente: começa com uma previsão constante e adiciona uma árvore a cada rodada de boosting, cada uma treinada para reduzir a função de perda deixada pelas árvores anteriores. A previsão final soma as saídas das árvores, cada uma reduzida pela taxa de aprendizado (eta, 0.3 por padrão) para que nenhuma árvore individual domine. Duas ideias do artigo definem como cada árvore é construída:

  • Objetivo de segunda ordem: Para cada linha, o XGBoost calcula as derivadas primeira e segunda da função de perda em relação à previsão atual: o gradiente g e a Hessiana h. Uma folha cujas linhas têm soma de gradientes G e soma de Hessianas H recebe o peso -G / (H + λ), o mesmo passo de Newton usado por otimizadores de segunda ordem.
  • Árvores regularizadas: O objetivo adiciona uma penalidade γ por folha e uma penalidade L2 λ sobre os pesos das folhas, além de uma penalidade L1 opcional α. Uma divisão é mantida apenas quando seu ganho, ½ [G_L²/(H_L + λ) + G_R²/(H_R + λ) − (G_L + G_R)²/(H_L + H_R + λ)] − γ, é positivo, incorporando a regularização à construção da árvore e limitando o sobreajuste.

As árvores têm profundidade limitada (max_depth, 6 por padrão) e crescem nível a nível, a menos que grow_policy="lossguide" ative o crescimento folha a folha. O treinamento geralmente usa parada antecipada em um conjunto de validação:

Valores ausentes, velocidade e escala#

A busca de divisões com reconhecimento de esparsidade do XGBoost treina com tabelas que contêm lacunas sem uma etapa de imputação. Em cada divisão, tenta enviar para a esquerda e, em seguida, para a direita as linhas com um valor ausente, mantendo como ramo padrão do nó a direção com maior ganho. O mesmo mecanismo permite examinar apenas as entradas armazenadas de matrizes esparsas, como codificações one-hot. Este exemplo oculta 30% de todos os valores de atributos no conjunto de dados de câncer de mama do scikit-learn e treina diretamente com as lacunas:

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}")

O resultado mostra uma acurácia de teste de 0.972 com os dados completos e de 0.951 com 30% dos valores ausentes tanto no treinamento quanto nos conjuntos de teste.

Para ganhar velocidade, o método de árvore padrão hist agrupa cada atributo em até 256 intervalos (max_bin) e busca divisões nos limites dos intervalos, seguindo a mesma abordagem usada pelo LightGBM, enquanto exact examina todos os valores ordenados. Definir device="cuda" transfere o treinamento para uma GPU NVIDIA, enable_categorical=True divide colunas categóricas nativamente, e o modo de memória externa treina com conjuntos de dados maiores que a RAM. Desde a versão 2.1, os modelos são salvos por padrão no formato binário UBJSON.

  • LightGBM: Framework de boosting da Microsoft de 2016, que, por padrão, faz as árvores crescerem folha a folha e adiciona amostragem de linhas baseada em gradiente e agrupamento de atributos esparsos. Hoje, ambas as bibliotecas usam histogramas por padrão e compartilham a maioria das técnicas.
  • CatBoost: Biblioteca de boosting da Yandex, que constrói árvores simétricas e codifica atributos categóricos com estatísticas ordenadas do alvo.
  • Floresta aleatória: Método de bagging que treina árvores profundas de forma independente em amostras bootstrap e calcula sua média, reduzindo a variância e exigindo poucos ajustes.
  • Aprendizado profundo: O padrão para entradas não estruturadas, como imagens, áudio e texto, nas quais as redes aprendem atributos a partir dos dados brutos. Em tabelas de atributos projetados, as árvores com boosting continuam sendo a referência a superar, e modelos fundamentais para dados tabulares, como o TabPFN, agora competem com elas em conjuntos de dados pequenos.

Aplicações no mundo real#

  • Detecção de fraude e risco de crédito: Empresas de pagamento calculam uma pontuação para cada transação com base em atributos como valor, comerciante, localização, dispositivo e histórico da conta — uma tarefa central de modelagem preditiva na qual a inferência rápida do XGBoost atende a decisões em tempo real.
  • Inspeção visual: Sistemas de qualidade na manufatura combinam dados de câmeras e sensores. As previsões do Ultralytics YOLO26 fornecem os dados da câmera: result.summary() retorna a classe, a confiança e as coordenadas da caixa de cada defeito detectado. Uma fábrica pode agregar esses dados por peça e juntá-los às leituras de temperatura e pressão como características para um modelo XGBoost que prevê falhas.
  • Ranqueamento e previsão de cliques: XGBRanker treina com o objetivo rank:ndcg por padrão para ordenar resultados de pesquisa, e classificadores binários preveem taxas de cliques em anúncios.
  • Problemas que vencem competições: O artigo da KDD lista as tarefas por trás das soluções vencedoras de 2015, incluindo previsão de vendas em lojas, classificação de eventos de física de altas energias, classificação de malware e previsão de abandono em cursos online massivos.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina