CatBoost
CatBoost (Categorical Boosting) · Also known as: CatBoost (Categorical Boosting), categorical boosting, ordered boosting, kategorik gradyan artırma
CatBoost is a gradient boosting algorithm, introduced by Prokhorenkova and colleagues at Yandex in 2018, that handles categorical variables natively and uses ordered target encoding to avoid label leakage. By building an additive ensemble of trees while permuting the data order at each iteration, it is often superior to XGBoost and LightGBM on category-heavy data.
Read the full method
Sign in with a free account to read this section.
Method map
The neighbourhood of related methods — select a node to explore.
+1 more
When to use it
A strong fit for classification and prediction on tabular data dominated by categorical features, with at least about 100 observations. It does not require normally distributed data and accepts continuous, categorical, binary, and ordinal features, working on cross-sectional and panel-style structures. Hyperparameter tuning of depth (6-10), learning rate (0.01-0.1), and iterations (500-2000) is recommended. Below about 100 observations, simpler models such as logistic regression or a single decision tree are safer.
Strengths & limitations
- Native handling of categorical features via cat_features — no one-hot encoding required.
- Ordered target encoding avoids label leakage that biases ordinary target encoding.
- Ordered boosting permutes the data each iteration, reducing overfitting.
- Symmetric trees give fast prediction and native GPU support competitive with LightGBM.
- Often outperforms XGBoost and LightGBM on category-heavy data.
- On small samples (n below about 100) even ordered boosting overfits and early stopping becomes ineffective.
- Hyperparameter tuning (depth, learning rate, iterations) needs enough validation data, which small samples lack.
- As a boosted-tree ensemble it offers no explicit coefficients to interpret.
- Its advantage shrinks on data with few or no categorical features.
Frequently asked
Do I need to one-hot encode categorical variables?
No. CatBoost handles categorical variables natively when you mark them as cat_features, converting each category to a numeric target statistic on the fly, so manual one-hot encoding is unnecessary.
What is ordered boosting?
At each iteration CatBoost permutes the data order and computes a row's target encoding and gradient only from the observations preceding it. This avoids the label leakage of ordinary target encoding and reduces overfitting.
How does CatBoost compare to XGBoost and LightGBM?
CatBoost is generally superior on category-heavy data thanks to its native categorical handling, while its symmetric trees and GPU support stay competitive in speed. On data with few categorical features the advantage shrinks.
What sample size and tuning does it need?
Use at least about 100 observations; below that even ordered boosting overfits and early stopping is ineffective. Tune depth (6-10), learning rate (0.01-0.1), and iterations (500-2000) with a validation set.
Sources
- Prokhorenkova, L., Gusev, G., Vorobev, A., Dorogush, A.V. & Gulin, A. (2018). CatBoost: Unbiased Boosting with Categorical Features. In NeurIPS 2018. DOI: 10.48550/arXiv.1706.09516 ↗
How to cite this page
ScholarGate. (2026, June 1). CatBoost (Categorical Boosting). ScholarGate. https://scholargate.app/en/machine-learning/catboost
Which method?
Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.
- AdaBoostMachine learning↔ compare
- Decision TreeMachine learning↔ compare
- Logistic RegressionResearch Statistics↔ compare
- Random ForestMachine learning↔ compare
- XGBoostMachine learning↔ compare