Skip to main content

CatBoost-inspired gradient boosting in pure Python with a numba backend

Project description

chimeraboost

What if CatBoost, but ~5x faster, slightly worse, and all in Python?

⚠️ Project is in active development: breaking changes should be expected.

chimeraboost logo
  • Installation
pip install chimeraboost
  • Sample code:
from chimeraboost import ChimeraBoostClassifier, ChimeraBoostRegressor

# classification
clf = ChimeraBoostClassifier(early_stopping=True)
clf.fit(X, y, cat_features=[0, 1], sample_weight=w)
proba = clf.predict_proba(X_test)

# regression (RMSE, MAE, or Quantile)
reg = ChimeraBoostRegressor(loss="Quantile", alpha=0.9, early_stopping=True)
reg.fit(X, y)

Benchmark summary

Blended strength vs slowdown Pareto

Slowdown distribution

  • Reproduce the benchmark
python benchmarks/run_benchmarks.py --grinsztajn --save
  • What?

    • Exceedingly opinionated GBDT library that only depends on common Python libraries
      • Accepts categorical features, with catboost-like feature processing
      • Bagging as a first-class feature
      • Automatic early stopping, with automatic grouped splitting for the validation set available
    • Supports regression, quantile regression, binary and multiclass classification.
    • Categorical features, sample weights, and automatic early stopping
    • Matches CatBoost within ~0.5% F1 and ~2% RMSE (% of best) on the 59-dataset Grinsztajn (2022) tabular benchmark, at ~5× the speed
  • Why?

    • I want to be able to modify my GBDT library at will
    • I know Python and I don't know C

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chimeraboost-0.9.1.tar.gz (35.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chimeraboost-0.9.1-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file chimeraboost-0.9.1.tar.gz.

File metadata

  • Download URL: chimeraboost-0.9.1.tar.gz
  • Upload date:
  • Size: 35.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for chimeraboost-0.9.1.tar.gz
Algorithm Hash digest
SHA256 2f8956bc2442465b22da2f344d37e91c4cb71f5e32152c33ea9d777510d91739
MD5 78360dae51dfe903066de4841c07b94b
BLAKE2b-256 ea2f8b8fbf35ad97f49eb7dcb11941a1a2cf5937567edf5ed9f14dba2ca05cbf

See more details on using hashes here.

File details

Details for the file chimeraboost-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: chimeraboost-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 32.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for chimeraboost-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6aac2ac58d1bd7bff33e1fd627a0284e75f3be26a9b72dfc9ee26dfa4299f1e1
MD5 69ee51b0f8b33aee324ff41f06384a36
BLAKE2b-256 975b0c04539baf3512ae1bd4cb089298056b69b396fff557915d68ea92958e77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page