Entdecken Sie CatBoost, einen leistungsstarken Gradientenverstärkungsalgorithmus für kategoriale Daten. Erfahren Sie, wie er zusammen mit Ultralytics die Vorhersagemodellierung für KI-Workflows verbessert.
CatBoost (Categorical Boosting) ist ein Open-Source-Algorithmus für maschinelles Lernen, der auf Gradientenboosting bei Entscheidungsbäumen basiert. Er wurde von Yandex entwickelt und ist darauf ausgelegt, mit minimaler Datenaufbereitung eine hohe Leistung zu erzielen. Er eignet sich besonders für die Verarbeitung von kategorialen Daten – Variablen, die bestimmte Gruppen oder Bezeichnungen anstelle von numerischen Werten darstellen. Während herkömmliche Algorithmen oft komplexe Vorverarbeitungstechniken wie One-Hot-Kodierung erfordern, um Kategorien in Zahlen umzuwandeln, kann CatBoost diese Merkmale direkt während des Trainings verarbeiten. Diese Fähigkeit, kombiniert mit seiner Fähigkeit, Überanpassung durch geordnetes Boosting zu reduzieren, macht ihn zu einer robusten Wahl für eine Vielzahl von prädiktiven Modellierungsaufgaben in der Datenwissenschaft.
CatBoost unterscheidet sich von anderen Ensemble-Methoden durch mehrere architektonische Entscheidungen, die Genauigkeit und Benutzerfreundlichkeit in den Vordergrund stellen.
CatBoost wird häufig zusammen mit anderen beliebten Boosting-Bibliotheken bewertet. Obwohl sie dasselbe zugrunde liegende Framework verwenden, weisen sie unterschiedliche Eigenschaften auf.
Die Robustheit von CatBoost macht es zu einem vielseitigen Werkzeug für verschiedene Branchen, die mit strukturierten Daten arbeiten.
CatBoost ist zwar in erster Linie ein Tool für tabellarische Daten, spielt jedoch eine wichtige Rolle in multimodalen Modell-Workflows, in denen visuelle Daten auf strukturierte Metadaten treffen. Ein gängiger Workflow besteht darin, mithilfe eines Computer-Vision-Modells Merkmale aus Bildern zu extrahieren und diese Merkmale dann in einen CatBoost-Klassifikator einzuspeisen.
Ein Immobilienbewertungssystem könnte beispielsweise Ultralytics verwenden, um Objekte auf Immobilienfotos zu erkennen und Ausstattungsmerkmale wie Pools oder Sonnenkollektoren zu zählen. Die Anzahl dieser Objekte wird dann zusammen mit Standort- und Flächenangaben als numerische Merkmale an ein CatBoost-Modell weitergeleitet, um den Wert der Immobilie vorherzusagen. Entwickler können die Bildverarbeitungskomponente dieser Pipelines mit der Ultralytics verwalten, die die Verwaltung von Datensätzen und die Bereitstellung von Modellen vereinfacht.
Das folgende Beispiel zeigt, wie ein vortrainiertes YOLO geladen wird, um die Anzahl der Objekte aus einem Bild zu extrahieren, die dann als Eingabemerkmale für ein CatBoost-Modell dienen könnten.
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}")