Explore o CatBoost, um poderoso algoritmo de reforço de gradiente para dados categóricos. Saiba como ele aprimora a modelagem preditiva junto com Ultralytics para fluxos de trabalho de IA.
CatBoost (Categorical Boosting) é um algoritmo de aprendizagem automática de código aberto baseado em gradient boosting em árvores de decisão. Desenvolvido pela Yandex, foi concebido para oferecer alto desempenho com preparação mínima de dados, destacando-se especificamente no tratamento de dados categóricos — variáveis que representam grupos ou rótulos distintos, em vez de valores numéricos. Enquanto os algoritmos tradicionais frequentemente requerem técnicas complexas de pré-processamento, como codificação one-hot, para converter categorias em números, o CatBoost pode processar esses recursos diretamente durante o treinamento. Essa capacidade, combinada com a sua habilidade de reduzir o sobreajuste através do reforço ordenado, torna-o uma escolha robusta para uma ampla gama de tarefas de modelagem preditiva em ciência de dados.
O CatBoost distingue-se de outros métodos de conjunto através de várias escolhas arquitetónicas que priorizam a precisão e a facilidade de utilização.
O CatBoost é frequentemente avaliado juntamente com outras bibliotecas de boosting populares. Embora partilhem a mesma estrutura subjacente, elas têm características distintas.
A robustez do CatBoost torna-o uma ferramenta versátil em vários setores que lidam com dados estruturados.
Embora o CatBoost seja principalmente uma ferramenta para dados tabulares, ele desempenha um papel vital em fluxos de trabalho de modelos multimodais, onde dados visuais se encontram com metadados estruturados. Um fluxo de trabalho comum envolve o uso de um modelo de visão computacional para extrair características de imagens e, em seguida, alimentar essas características em um classificador CatBoost.
Por exemplo, um sistema de avaliação imobiliária pode usar o Ultralytics para realizar a detecção de objetos em fotos de propriedades, contando amenidades como piscinas ou painéis solares. As contagens desses objetos são então passadas como características numéricas para um modelo CatBoost, juntamente com dados de localização e metragem quadrada, para prever o valor da casa. Os programadores podem gerir o componente de visão desses pipelines usando a Ultralytics , que simplifica o gerenciamento de conjuntos de dados e a implementação de modelos.
O exemplo a seguir demonstra como carregar um YOLO pré-treinado para extrair contagens de objetos de uma imagem, que podem então servir como recursos 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}")