CatBoost: Categorical Boosting
Overview CatBoost (by Yandex) is a high-performance gradient boosting library. Its name comes from "Category" + "Boosting". It is famous for handling categorical data (text labels) automatically without preprocessing, and for its "Overtraining" prevention.
Key Features
1. Native Categorical Support Most algorithms (XGBoost) require you to convert text labels ("Red", "Blue") into numbers (One-Hot Encoding) before training.
- CatBoost handles this internally using "Ordered Target Statistics" (Target Encoding), which is often more accurate and saves memory.
2. Symmetric Trees CatBoost builds balanced (symmetric) trees.
- Benefit: Extremely fast inference (prediction) speed, often 8-20x faster than XGBoost.
- Benefit: Less prone to overfitting.
3. Ordered Boosting A specialized technique to reduce prediction shift, solving a common bias problem in traditional gradient boosting.
Usage
from catboost import CatBoostClassifier
**Define data**
X = [["Red", 10], ["Blue", 20]]
y = [0, 1]
cat_features = [0] # Index of categorical column
**Train**
model = CatBoostClassifier(iterations=100)
model.fit(X, y, cat_features=cat_features)
**Predict**
model.predict([["Red", 15]])
When to use CatBoost?
- You have lots of categorical features (IDs, Cities, User Types).
- You need fast inference in production.
- You want a model that works well with default parameters ("Battle of the defaults").
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.