CatBoost
Explora o CatBoost, um poderoso algoritmo de boosting de gradiente para dados categóricos. Aprende como melhora a modelação preditiva em conjunto com o Ultralytics YOLO26 para fluxos de trabalho de IA.
CatBoost (Boosting Categórico) é um algoritmo de machine learning de código aberto baseado em gradient boosting sobre árvores de decisão. Desenvolvido pela Yandex, foi concebido para oferecer elevado desempenho com uma preparação mínima dos dados, destacando-se especificamente no tratamento de dados categóricos — variáveis que representam grupos ou etiquetas distintos, em vez de valores numéricos. Embora os algoritmos tradicionais exijam frequentemente técnicas complexas de pré-processamento, como o one-hot encoding, para converter categorias em números, o CatBoost consegue processar estas características diretamente durante o treino. Esta capacidade, combinada com a aptidão para reduzir o overfitting através do boosting ordenado, torna-o uma opção robusta para uma vasta gama de tarefas de modelação preditiva em ciência de dados.
Principais vantagens e mecanismo#
O CatBoost distingue-se de outros métodos de ensemble através de várias escolhas arquiteturais que dão prioridade à precisão e à facilidade de utilização.
- Suporte nativo para dados categóricos: o algoritmo utiliza uma técnica chamada estatísticas ordenadas do alvo para converter valores categóricos em números durante o treino. Isto evita a fuga do alvo frequentemente observada nos métodos de codificação padrão, preservando a integridade do processo de validação.
- Boosting ordenado: os métodos padrão de gradient boosting podem sofrer de deslocamento das previsões, um tipo de viés em IA. O CatBoost resolve este problema através de uma abordagem orientada por permutações para treinar o modelo, garantindo que este não faz overfitting à distribuição específica dos dados de treino.
- Árvores simétricas: ao contrário de muitas outras bibliotecas de boosting, que fazem crescer as árvores por profundidade ou por folhas, o CatBoost constrói árvores simétricas (equilibradas). Esta estrutura permite velocidades de inferência extremamente rápidas, o que é crucial para aplicações de inferência em tempo real.
CatBoost vs. XGBoost e LightGBM#
O CatBoost é frequentemente avaliado em conjunto com outras bibliotecas de boosting populares. Embora partilhem a mesma estrutura subjacente, apresentam características distintas.
- XGBoost: uma biblioteca altamente flexível e amplamente utilizada, conhecida pelo seu desempenho em competições de ciência de dados. Normalmente, exige um ajuste cuidadoso dos hiperparâmetros e a codificação manual das variáveis categóricas para atingir o desempenho máximo.
- LightGBM: esta biblioteca utiliza uma estratégia de crescimento por folhas, o que a torna excecionalmente rápida para o treino em conjuntos de dados massivos. No entanto, sem uma regularização cuidadosa, pode ser propensa a overfitting em conjuntos de dados mais pequenos, em comparação com as árvores simétricas estáveis do CatBoost.
- CatBoost: oferece frequentemente a melhor precisão "pronta a usar" com os parâmetros predefinidos. É geralmente a escolha preferida quando os conjuntos de dados contêm um número significativo de características categóricas, reduzindo a necessidade de uma extensa engenharia de características.
Aplicações no mundo real#
A robustez do CatBoost torna-o uma ferramenta versátil em vários setores que lidam com dados estruturados.
-
Avaliação do risco financeiro: os bancos e as empresas fintech utilizam o CatBoost para avaliar a elegibilidade para empréstimos e prever incumprimentos de crédito. O modelo consegue integrar facilmente diversos tipos de dados, como a profissão de um candidato (categórica) e o nível de rendimento (numérico), para criar perfis de risco precisos. Esta capacidade é uma pedra angular da IA nas finanças moderna.
-
Recomendações no comércio eletrónico: os retalhistas online utilizam o CatBoost para alimentar sistemas de recomendação personalizados. Ao analisar registos do comportamento dos utilizadores, categorias de produtos e histórico de compras, o algoritmo prevê a probabilidade de um utilizador clicar num item ou comprá-lo, contribuindo diretamente para a otimização da IA no retalho.
Integração com visão computacional#
Embora o CatBoost seja principalmente uma ferramenta para dados tabulares, desempenha um papel essencial nos fluxos de trabalho de modelos multimodais, nos quais os dados visuais se encontram com metadados estruturados. Um fluxo de trabalho comum envolve a utilização de um modelo de visão computacional para extrair características de imagens e, em seguida, fornecer essas características a um classificador CatBoost.
Por exemplo, um sistema de avaliação imobiliária pode utilizar o Ultralytics YOLO26 para realizar deteção de objetos em fotografias de imóveis, contando comodidades como piscinas ou painéis solares. As contagens destes objetos são depois passadas como características numéricas para um modelo CatBoost, juntamente com dados sobre a localização e a área do imóvel, para prever o seu valor. Os programadores podem gerir o componente de visão destes fluxos de trabalho através da Ultralytics Platform, que simplifica a gestão de conjuntos de dados e a implementação de modelos.
O exemplo seguinte demonstra como carregar um modelo YOLO pré-treinado para extrair contagens de objetos de uma imagem, que poderiam depois servir como características de entrada para um modelo CatBoost.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("path/to/property_image.jpg")
# Extract class counts (e.g., counting 'cars' or 'pools')
# This dictionary can be converted to a feature vector for CatBoost
class_counts = {}
for result in results:
for cls in result.boxes.cls:
class_name = model.names[int(cls)]
class_counts[class_name] = class_counts.get(class_name, 0) + 1
print(f"Features for CatBoost: {class_counts}")








