Skip to content

Parameters

For more detail, see API reference.

Core boosting

Parameter Default Effect
n_estimators 2000 Maximum boosting rounds (trees).
learning_rate None (auto) Per-tree shrinkage. None resolves to 0.1 with early stopping. Lower trades more trees for slightly better fit.
depth None→auto (reg) / 6 (clf) Tree depth (a depth-d tree is d splits). The regressor's None resolves to 6 for "RMSE"/"MAE" and 4 for loss="Quantile" (deep leaves overfit the tail quantile). Conservative by default; raise to 8–10 for large, interaction-heavy regression.
l2_leaf_reg 1.0 L2 penalty on leaf values. Higher is smoother.
min_child_weight 1.0 (reg) / None→auto (clf) Minimum hessian mass on each side of a split. The classifier's None is size-adaptive: the full veto (1.0) below ~500 training rows, fading linearly to 0 above ~2000 — oblivious trees underfit large data under a fixed veto, while small data still needs one.
leaf_estimation_iterations 1 (reg) / None3 (clf) Extra Newton refinement steps per leaf. The classifier's None is an auto default resolving to 3 (it helps small/categorical-heavy binary fits). Applies to the plain constant-leaf path only: inert while linear leaves are active (default-on for binary ≥ ~1000 rows — the per-leaf ridge already fits the second-order-optimal leaf), and not implemented for multiclass or loss="MAE"/"Quantile". An explicitly-set value that will be ignored on the path warns.

Binning

Parameter Default Effect
max_bins 128 Histogram bins per numeric feature. Raising it can improve fit in some scenarios.
quantize_gradients True Split search on ~15-bit quantized grad/hess packed into integer histograms: ~20-25% faster fits, benchmark-flat accuracy. Leaf values always use exact float gradients. Deterministic per random_state. False = exact float64 histograms.

Row and column sampling

Parameter Default Effect
subsample 1.0 Row fraction per tree. Below 1.0, uses Minimum Variance Sampling (gradient-weighted, unbiased).
colsample None Feature fraction eligible per tree. None = 1.0 for a single model, 0.85 for members inside n_ensembles > 1 (see recipes: bagging).

Categorical features

Parameter Default Effect
cat_smoothing 1.0 Prior strength for ordered target statistics; higher shrinks rare categories toward the global mean. Must be > 0.
cat_n_permutations 4 Random orderings averaged by the ordered target encoder.
cat_combinations None→auto Add all pairwise category-by-category features. None turns them on automatically only when the data is entirely categorical (where they help without crowding out numeric splits); set True/False to force it. Auto is skipped for very wide all-categorical data (a resource guard against the C(n_cat, 2) blow-up) — pass True there if you want them anyway.

Which columns are categorical can be passed either to fit(..., cat_features=[...]) or as the cat_features to your ChimeraBoostRegressor/ChimeraBoostClassifier arguments depending on your use case. Columns may be named by integer position or by column name (resolved against the DataFrame), or a mix — e.g. cat_features=["city", "brand"] or cat_features=[0, 3].

Loss (regressor only)

Parameter Default Effect
loss "RMSE" "RMSE", "MAE" (median), or "Quantile".
alpha 0.5 Quantile level for loss="Quantile".

The classifier picks its loss automatically: binary logloss for 2 classes, softmax for 3+.

Leaf models

Parameter Default Effect
linear_leaves None → auto Fit a ridge linear model per leaf over the numeric split features instead of a constant. Binary classification: on by default. Regression: the default fits both variants and keeps the validation winner (~2× fit; True/False skips the double fit). Falls back to constant below ~1000 rows. Not available with MAE/Quantile or multiclass.
linear_lambda 1.0 Ridge penalty on per-leaf slopes; larger is closer to a constant.

Cross features

Parameter Default Effect
cross_features None → auto Refit with cross columns for the base fit's top features and keep whichever model has the lower validation loss (cross_features_selected_, cross_pairs_ record the outcome): difference and product columns for the top-6 numeric pairs, plus group-centered columns x_i − mean(x_i \| category) for the top-4 numerics × top-3 categoricals. Oblivious trees can only staircase "x_i < x_j" or "above this row's category baseline"; a cross column makes each one split. Large wins on interaction-heavy data (coordinates, prices, physical units) and entity-heavy categorical data. Auto applies to RMSE regression and to binary and multiclass classification with ≥ 2000 rows and ≥ 2 numeric features — or ≥ 1 numeric plus categoricals — (multiclass judges on softmax log loss), and skips everything else. False turns it off.
selection_rounds 100 Round budget for the internal selection fits (the linear-leaves double fit and the pre-cross base fit). Candidates are judged on their best validation loss within the budget; only the winner continues to full early stopping (~1.5× faster fits). An audition that early-stops before the budget already is the full fit. None runs every variant to full early stopping; the audition can occasionally pick a different variant than full runs would.

Ordered boosting

Parameter Default Effect
ordered_boosting False Leave-one-out leaf training step. Off by default; mutually exclusive with leaf_estimation_iterations in the booster. Ignored while linear leaves are active (the linear-leaf update owns the training step — set linear_leaves=False to use it) and with loss="MAE"/"Quantile"; supported for multiclass.

Early stopping

Parameter Default Effect
early_stopping True Hold out a validation split and stop on a plateau. Set False to build a fixed n_estimators trees.
early_stopping_rounds None50 Patience when early stopping is active. 50 is the sweet spot across the Grinsztajn suite; raising it to 100300 helps only large, high-signal datasets (e.g. covertype, electricity, pol) and costs ~25–35% more trees, so it is not worth it as a default — bump it yourself for that kind of data.
validation_fraction 0.2 Held-out fraction (stratified for classifiers). Ignored when eval_set is passed to fit.

See Recipes → early stopping for eval_set and groups.

Bagging

Parameter Default Effect
n_ensembles None None/1 is a single model; ≥2 averages members fit on random row subsamples (see max_samples). Reduces variance.
ensemble_n_jobs -1 Worker processes fitting members concurrently, each on an equal share of the thread budget (same total cores, identical models, 1.2–2x faster wall-clock). 1 fits members sequentially.
max_samples 0.8 Fraction of rows each member trains on, drawn without replacement. Beats the classic bootstrap on accuracy and fit time; 1.0 restores the full-size with-replacement bootstrap.

System

Parameter Default Effect
thread_count None numba threads. None/-1 uses all cores. Affects determinism of floating-point reductions.
random_state None Seed (deterministic for a fixed thread_count).
verbose False Print per-round metrics.

fit() arguments

Argument Effect
cat_features Columns to treat as categorical, by integer position and/or column name.
eval_set (X_val, y_val) validation set; overrides the internal split.
groups Group labels; keeps each group entirely in train or validation when auto-splitting.
sample_weight Per-sample training weights (normalized to mean 1).
callbacks A callable or list of callables cb(iteration, train_loss, val_loss, model) invoked each boosting round; returning True requests an early stop.

Fitted attributes

Attribute Meaning
feature_importances_ Split-gain importance per input feature, summing to 1.
best_iteration_ Trees kept after early stopping.
classes_ (classifier) Label values, in predict_proba column order.
temperature_ (classifier) Calibration temperature; > 1 means scores were over-confident.
quantile_offset_ (regressor) Split-conformal correction added to loss="Quantile" predictions, fitted on the validation split; 0.0 for other losses or without one.
expected_value_ SHAP baseline; set after shap_values (see SHAP).
estimators_ Fitted members when n_ensembles > 1, else None.
validation_history_ Per-round validation loss recorded during fit; empty without a validation split, a list of member histories when bagged.
linear_leaves_selected_ (regressor) Leaf variant the auto-audition kept (True = linear leaves won on validation).
cross_features_selected_ / cross_pairs_ Whether the cross-feature refit won, and the feature pairs it used.
member_params_ Member hyperparameters applied when n_ensembles > 1 auto-resolves them (see recipes: bagging).