Funktionsweise des CatBoost-Algorithmus

CatBoost ist eine überwachte Machine-Learning-Methode, die von dem Werkzeug Mit AutoML trainieren verwendet wird und anhand von Entscheidungsbäumen Klassifizierungen und Regressionen vornimmt. Wie der Name vermuten lässt, verfügt CatBoost über zwei wesentliche Funktionen: es arbeitet mit Kategoriedaten ("Cat") und verwendet die Gradientenverstärkung ("Boost"). Bei der Gradientenverstärkung werden viele Entscheidungsbäume in einem iterativen Prozess konstruiert. Dabei wird in jedem folgenden Baum das Ergebnis des vorherigen optimiert, was zu besseren Ergebnissen führt. CatBoost ist eine Weiterentwicklung der ursprünglichen Gradientenverstärkungsmethode und lässt sich schneller implementieren.

Bei CatBoost besteht im Vergleich zu anderen auf Entscheidungsbäumen basierenden Methoden nicht die Einschränkung, dass die Daten in der Regel vorverarbeitet werden müssen, damit kategorische Zeichenfolgenvariablen in numerische Werte, One-Hot-Kodierungen usw. umgewandelt werden. Mit dieser Methode kann ohne Vorverarbeitung direkt eine Kombination aus kategorischen und nicht kategorischen erklärenden Variablen verwendet werden. Die Vorverarbeitung erfolgt im Rahmen des Algorithmus. CatBoost verwendet zum Kodieren von kategorischen Funktionen die so genannte geordnete Kodierung. Bei der geordneten Kodierung werden für die Berechnung eines Werts zum Ersetzen der kategorischen Funktion die Zielstatistiken aller Zeilen vor dem Datenpunkt berücksichtigt.

Ein weiteres Merkmal von CatBoost ist die Verwendung symmetrischer Bäume. Das bedeutet, dass in jeder Tiefenstufe alle Entscheidungsknoten dieselbe Bedingung zum Aufteilen verwenden.

CatBoost arbeitet zudem schneller als XGBoost und andere Methoden. Es behält bestimmte Funktionen wie z. B. die Kreuzvalidierung, die Normalisierung und die Unterstützung fehlender Werte aus den vorherigen Algorithmen bei. Diese Methode eignet sich für kleine und große Datenmengen gleichermaßen gut.