Skip to main content

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

Project description

chimeraboost

What if CatBoost, but 30x 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

Slowdown distribution

ChimeraBoostEns10 is ChimeraBoost bagged with 10 base gradient boosters.

  • Reproduce the benchmark
python benchmarks/run_benchmarks.py --openml --seeds 5 --save --models ChimeraBoost ChimeraBoostEns10 sklearn_HGB CatBoost LightGBM
  • 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
    • Within ~3% F1 / ~5% RMSE of CatBoost on a 34-dataset OpenML benchmark, at ~30× 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.8.0.tar.gz (34.4 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.8.0-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for chimeraboost-0.8.0.tar.gz
Algorithm Hash digest
SHA256 cccafb68f9d526881979729797c345670bf0e74cde8427116771ed0b8e562a50
MD5 d7e19622f05048927c51309cab850a51
BLAKE2b-256 de86e7495281c9f97810af141d6de2f837d6cc2dd945a21aeb0771eded9a9fa2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chimeraboost-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 31.5 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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4aa55a11184ecf8bf3a55690fec9a8659c2a50638ca4d60eccdc77999407fcf
MD5 7cbea5278a44e9842f3e02c646119dcf
BLAKE2b-256 84efc9753cfbc38b3401ad814cbb3f89a2323879c3e6d627d9f1222dafd17f2f

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