0Pricing
Learn AI with Python · Lektion

LightGBM und CatBoost

Warum LightGBM schneller ist, histogrammbasiertes Aufteilen und CatBoost für kategorische Features.

LightGBM und CatBoost ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Über XGBoost hinaus

XGBoost ist leistungsfähig, kann aber bei sehr großen Datensätzen langsam sein. LightGBM und CatBoost sind neuere Bibliotheken für Gradient Boosting, die die Geschwindigkeit verbessern und mit kategorialen Daten besser umgehen.

Histogrammbasierte Aufteilungen

LightGBM fasst kontinuierliche Merkmale vor der Suche nach Aufteilungen in diskreten Bins (einem Histogramm) zusammen. Dadurch wird die Suche nach Aufteilungen deutlich schneller und benötigt weniger Speicher als die exakte Methode.

Blattweises Baumwachstum

Im Gegensatz zum ebenenweisen Wachstum wächst LightGBM Bäume blattweise: Zuerst wird das Blatt mit der größten Verlustreduktion aufgeteilt. Dadurch konvergiert das Verfahren schneller, kann aber zu Überanpassung führen. Daher steuern Sie es mit num_leaves.

LGBMClassifier und num_leaves

num_leaves ist die wichtigste Stellschraube für die Komplexität von LightGBM. Größere Werte erhöhen die Genauigkeit, bergen aber ein höheres Risiko für Überanpassung. Als Faustregel gilt, num_leaves < 2^max_depth einzuhalten.

from lightgbm import LGBMClassifier

model = LGBMClassifier(
    n_estimators=300,
    num_leaves=31,
    learning_rate=0.05,
    random_state=0,
)
model.fit(Xtr, ytr)
print(model.score(Xte, yte))

Geschwindigkeitsvorteile von LightGBM

Dank der Histogramm-Binning, des blattweisen Wachstums und der Teilstichprobenbildung für Merkmale und Daten trainiert LightGBM bei großen Datensätzen deutlich schneller als XGBoost, oft mit vergleichbarer Genauigkeit.

from lightgbm import LGBMClassifier

model = LGBMClassifier(
    n_estimators=1000,
    num_leaves=63,
    learning_rate=0.03,
    feature_fraction=0.8,
    bagging_fraction=0.8,
)

Early Stopping in LightGBM

LightGBM unterstützt Early Stopping über Callbacks. Übergeben Sie einen Evaluierungssatz und einen early_stopping-Callback, um das Training zu beenden, sobald die Metrik stagniert.

import lightgbm as lgb
from lightgbm import LGBMClassifier

model = LGBMClassifier(n_estimators=2000, learning_rate=0.03)
model.fit(
    Xtr, ytr,
    eval_set=[(Xte, yte)],
    callbacks=[lgb.early_stopping(50)],
)

CatBoost und kategoriale Merkmale

CatBoost spielt seine Stärken bei kategorialen Daten aus. Sie übergeben rohe kategoriale Spalten direkt über cat_features; eine manuelle Kodierung ist nicht erforderlich.

Intern verwendet CatBoost geordnete Zielstatistiken, um Target Leakage zu vermeiden.

from catboost import CatBoostClassifier

model = CatBoostClassifier(
    iterations=500,
    learning_rate=0.05,
    depth=6,
    verbose=False,
)
model.fit(Xtr, ytr, cat_features=[0, 3, 5])

Warum Kodierung nicht nötig ist

Bei anderen Bibliotheken müssen Sie Kategorien per One-Hot- oder Label-Encoding kodieren, wodurch die Dimensionalität explodieren oder der Zielwert durchsickern kann. CatBoost verarbeitet dies intern mit ordered boosting und reduziert dadurch die Überanpassung bei kategorialen Merkmalen.

Wichtige CatBoost-Parameter

CatBoost verwendet iterations (ähnlich wie n_estimators), learning_rate und depth (dabei werden symmetrische Bäume erstellt). Oft funktioniert CatBoost mit minimaler Abstimmung gut.

from catboost import CatBoostClassifier

model = CatBoostClassifier(
    iterations=1000,
    learning_rate=0.03,
    depth=8,
    l2_leaf_reg=3.0,
    verbose=100,
)

Geschwindigkeitsvergleich

Allgemeine Orientierung:

  • LightGBM ist bei großen numerischen Datensätzen normalerweise am schnellsten
  • CatBoost eignet sich am besten bei vielen kategorialen Merkmalen und benötigt weniger Abstimmung
  • XGBoost ist ausgereift, robust und bietet gute Standardwerte

Vergleichen Sie alle drei Verfahren mit Ihren Daten; die Ergebnisse hängen vom jeweiligen Problem ab.

Die passende Bibliothek auswählen

Bei vielen kategorialen Daten beginnen Sie mit CatBoost. Für sehr große numerische Tabellen und hohe Geschwindigkeit wählen Sie LightGBM. Für eine bewährte Baseline verwenden Sie XGBoost. Alle drei Verfahren basieren auf Gradient Boosting, daher lassen sich die Konzepte übertragen.

Kurzer Test

Testen Sie Ihr Wissen über Bibliotheken für Gradient Boosting.

Zusammenfassung

Zusammenfassung: LightGBM verwendet histogrammbasiertes, blattweises Wachstum, das über num_leaves gesteuert wird, und eignet sich dadurch für große numerische Daten. CatBoost verarbeitet kategoriale Merkmale über cat_features nativ und ohne Kodierung. Beide Verfahren sind wie XGBoost Varianten von Gradient Boosting. Vergleichen Sie die Verfahren, um das passende auszuwählen: CatBoost für kategoriale Daten, LightGBM für hohe Geschwindigkeit.

Häufig gestellte Fragen

Ist die Lektion „LightGBM und CatBoost“ kostenlos?

Ja — der vollständige Text von „LightGBM und CatBoost“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „LightGBM und CatBoost“?

Warum LightGBM schneller ist, histogrammbasiertes Aufteilen und CatBoost für kategorische Features. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „LightGBM und CatBoost“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Entscheidungsbäume: Theorie und Implementierung
  2. Random Forests und Bagging
  3. Gradient Boosting: GBM und XGBoost
  4. LightGBM und CatBoost
← Zurück zu Learn AI with Python