Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

CatBoost

CatBoost ist die Open-Source-Gradient-Boosting-Bibliothek von Yandex. Sie kodiert kategoriale Merkmale mithilfe geordneter Zielstatistiken und erstellt symmetrische Bäume.

CatBoost ist eine quelloffene Bibliothek für Gradient Boosting mit Entscheidungsbäumen. Sie wurde von Yandex entwickelt und 2017 veröffentlicht. Der Name leitet sich von „categorical boosting“ ab: Die Bibliothek akzeptiert kategoriale Spalten wie Stadt, Produkt-ID oder Gerätetyp als einfache Zeichenfolgen und wandelt sie intern in Zahlen um. Dadurch sind vor dem Training keine manuelle One-Hot- oder Zielkodierung tabellarischer Daten nötig. Zwei Ideen aus dem NeurIPS-Paper von 2018, geordnete Zielstatistiken und geordnetes Boosting, sorgen dafür, dass das Label einer Trainingszeile nicht in die Zahlen einfließt, mit denen diese Zeile selbst angepasst wird. Dieser Informationsabfluss verzerrt sowohl die einfache Zielkodierung als auch herkömmliches Boosting. CatBoost trainiert auf CPUs und GPUs, bietet Schnittstellen für Python, R und die Befehlszeile und unterstützt Klassifizierung, Regression und Ranking.

Wie CatBoost kategoriale Merkmale kodiert#

Bei der One-Hot-Kodierung wird eine Spalte pro Kategorie erstellt. Bei Merkmalen mit Tausenden von Werten, etwa einer Händler- oder Benutzer-ID, wird das unhandlich. Bei der Zielkodierung wird jede Kategorie durch den durchschnittlichen Labelwert ihrer Zeilen ersetzt. Das ist kompakt, verrät aber die Antwort: Das Label einer Zeile fließt in den Wert ein, der sie beschreibt. Dadurch lernt das Modell eine Abkürzung, die bei neuen Daten versagt. Diese Form von Datenleckage zeigt sich als Overfitting und ist bei seltenen Kategorien besonders ausgeprägt.

Die geordneten Zielstatistiken von CatBoost beheben dieses Problem mithilfe einer zufälligen Permutation der Trainingszeilen. Die Kategorie jeder Zeile wird anhand der Labels der Zeilen kodiert, die in der Permutation vor ihr stehen. Dabei wird der Wert in Richtung eines Prior geglättet, sodass keine Zeile jemals ihr eigenes Label sieht. CatBoost wiederholt diesen Vorgang mit mehreren Permutationen, kodiert Merkmale mit nur wenigen unterschiedlichen Werten per One-Hot-Kodierung und erstellt während des Trainings gierig Kombinationen kategorialer Merkmale als neue Merkmale, etwa Stadt und Gerätetyp.

Im CatBoost-Python-Paket werden kategoriale Spalten über cat_features anhand ihres Namens übergeben. Dieses Beispiel weist jedem von 50 Abonnementtarifen eine verborgene Abwanderungsrate zu und prüft, ob das Modell diese Raten aus den unverarbeiteten Tarifnamen ermittelt:

import numpy as np
import pandas as pd
from catboost import CatBoostClassifier

# Synthetic churn data: each of 50 plans has its own hidden churn rate
rng = np.random.default_rng(0)
rates = rng.uniform(0.05, 0.6, size=50)
plan_ids = rng.integers(0, 50, size=5000)
X = pd.DataFrame({"plan": [f"plan_{i}" for i in plan_ids], "tenure_months": rng.integers(1, 60, size=5000)})
y = rng.random(5000) < rates[plan_ids]

# Raw strings go in directly; CatBoost encodes them with ordered target statistics
model = CatBoostClassifier(iterations=200, depth=4, verbose=0, random_seed=0)
model.fit(X, y, cat_features=["plan"])

# Compare true and predicted churn for the safest and riskiest plans
lo, hi = rates.argmin(), rates.argmax()
probe = pd.DataFrame({"plan": [f"plan_{lo}", f"plan_{hi}"], "tenure_months": [30, 30]})
print("True churn rates:     ", rates[[lo, hi]].round(2))
print("Predicted churn rates:", model.predict_proba(probe)[:, 1].round(2))

Das Skript gibt tatsächliche Raten von 0,05 und 0,60 sowie vorhergesagte Raten von 0,06 und 0,59 aus. Das Modell hat die Abwanderungsrate jedes Tarifs aus der unverarbeiteten Zeichenfolgenspalte ermittelt, obwohl pro Tarif nur etwa 100 Trainingszeilen vorlagen.

Geordnetes Boosting und symmetrische Bäume#

Beim herkömmlichen Gradient Boosting werden die Zielwerte für jeden neuen Baum, die Gradienten des Verlusts, anhand derselben Zeilen berechnet, mit denen auch die vorherigen Bäume trainiert wurden. Dadurch werden die Gradienten verzerrt – ein Effekt, den die CatBoost-Autoren als Verschiebung der Vorhersage bezeichnen. Geordnetes Boosting wendet den Permutationstrick erneut an: Der Gradient jeder Zeile stammt aus einem Modell, das nur mit früheren Zeilen der Permutation trainiert wurde. Es handelt sich um eine Trainingsoption, boosting_type="Ordered", die bei kleinen Datensätzen meist die Qualität verbessert, aber langsamer ist. Standardmäßig wird auf der CPU das klassische Verfahren "Plain" verwendet. Beim GPU-Training kommt für Datensätze mit bis zu 50.000 Zeilen standardmäßig "Ordered" zum Einsatz, außer im Mehrklassenmodus.

CatBoost erstellt standardmäßig symmetrische oder oblivious Bäume, bei denen jeder Knoten derselben Tiefe dieselbe Aufteilungsbedingung verwendet. Ein Baum mit Tiefe 6, dem Standardwert, besteht daher aus sechs Ja-Nein-Tests. Deren Antworten bilden einen 6-Bit-Index für 64 Blätter. Das beschleunigt Vorhersagen und begrenzt die Komplexität jedes Baums – eine Form der Regularisierung. Mit dem Parameter grow_policy lässt sich auf tiefenweise oder blattweise Verzweigung umstellen, wenn ein Datensatz weniger eingeschränkte Bäume erfordert.

Anwendungen in der Praxis#

  • Kreditrisiko: Kreditgeber kombinieren kategoriale Angaben zu Antragstellenden wie Beruf, Region und Verwendungszweck des Kredits mit numerischen Einkommens- und Schuldendaten, um Zahlungsausfälle vorherzusagen – ohne Hunderte Berufscodes per One-Hot-Kodierung umzuwandeln.
  • Ranking und Empfehlungen: CatBoost bietet Ranking-Verlustfunktionen wie YetiRank. Damit lassen sich Suchergebnisse oder Produkte anhand der vorhergesagten Relevanz sortieren, die aus Benutzer-, Artikel- und Kontextmerkmalen eines Empfehlungssystems berechnet wird.
  • Immobilienbewertung: Ein speziell trainierter YOLO26-Detektor kann Ausstattungsmerkmale wie Pools oder Solarpaneele auf Immobilienfotos zählen. Diese Zählwerte fließen als numerische Spalten in ein CatBoost-Preismodell ein, neben kategorialen Merkmalen wie Stadtteil und Immobilientyp.

CatBoost im Vergleich zu XGBoost und LightGBM#

Alle drei Bibliotheken erstellen nacheinander ein Ensemble aus Bäumen, wobei jeder Baum die Fehler der vorherigen Bäume korrigiert. Das unterscheidet sie vom Random Forest, dessen Bäume unabhängig voneinander trainiert werden.

  • XGBoost: Erstellt Bäume standardmäßig Ebene für Ebene und ergänzt sein Optimierungsziel um L1- und L2-Regularisierung. Die native Unterstützung kategorialer Merkmale kam erst in späteren Versionen hinzu. Viele Verarbeitungspipelines kodieren Kategorien nach wie vor vor dem Training.
  • LightGBM: Erstellt Bäume blattweise, indem derjenige Blattknoten aufgeteilt wird, der den Verlust am stärksten verringert. Außerdem fasst die Bibliothek Merkmale in Histogrammen zusammen, was sie bei großen Datensätzen schnell macht. Kategoriale Spalten mit ganzzahligen Codes werden nativ unterstützt.
  • CatBoost: Erstellt symmetrische Bäume, kodiert Kategorien mithilfe geordneter Zielstatistiken und liefert schon ohne Hyperparameteroptimierung gute Ergebnisse. Die Standardwerte sind 1.000 Bäume mit Tiefe 6. Bei Verlustfunktionen für Log Loss, Mehrklassenklassifizierung und RMSE wird die Lernrate automatisch anhand der Anzahl der Iterationen gewählt.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens