Explora CatBoost, un potente algoritmo de refuerzo de gradiente para datos categóricos. Descubre cómo mejora el modelado predictivo junto con Ultralytics para flujos de trabajo de IA.
CatBoost (Categorical Boosting) es un algoritmo de aprendizaje automático de código abierto basado en el gradient boosting en árboles de decisión. Desarrollado por Yandex, está diseñado para ofrecer un alto rendimiento con una preparación mínima de los datos, y destaca especialmente en el manejo de datos categóricos, es decir, variables que representan grupos o etiquetas distintos en lugar de valores numéricos. Mientras que los algoritmos tradicionales a menudo requieren técnicas de preprocesamiento complejas, como la codificación one-hot, para convertir las categorías en números, CatBoost puede procesar estas características directamente durante el entrenamiento. Esta capacidad, combinada con su habilidad para reducir el sobreajuste a través del refuerzo ordenado, lo convierte en una opción sólida para una amplia gama de tareas de modelado predictivo en la ciencia de datos.
CatBoost se distingue de otros métodos de conjunto por varias decisiones arquitectónicas que priorizan la precisión y la facilidad de uso.
CatBoost se compara a menudo con otras bibliotecas de boosting populares. Aunque comparten el mismo marco subyacente , tienen características distintas.
La solidez de CatBoost lo convierte en una herramienta versátil para diversos sectores que manejan datos estructurados.
Aunque CatBoost es principalmente una herramienta para datos tabulares, desempeña un papel fundamental en los flujos de trabajo de modelos multimodales en los que los datos visuales se combinan con metadatos estructurados. Un flujo de trabajo habitual consiste en utilizar un modelo de visión por ordenador para extraer características de las imágenes y, a continuación, introducir esas características en un clasificador CatBoost.
Por ejemplo, un sistema de valoración inmobiliaria podría utilizar Ultralytics para realizar la detección de objetos en fotografías de propiedades, contando servicios como piscinas o paneles solares. Los recuentos de estos objetos se pasan entonces como características numéricas a un modelo CatBoost junto con los datos de ubicación y superficie para predecir el valor de la vivienda. Los desarrolladores pueden gestionar el componente de visión de estas canalizaciones utilizando la Ultralytics , que simplifica la gestión de conjuntos de datos y la implementación de modelos.
El siguiente ejemplo muestra cómo cargar un YOLO preentrenado para extraer recuentos de objetos de una imagen, que luego podrían servir como características de entrada para un 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}")