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.
- 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)
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
- Exceedingly opinionated GBDT library that only depends on common Python libraries
-
Why?
- I want to be able to modify my GBDT library at will
- I know Python and I don't know C
Project details
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cccafb68f9d526881979729797c345670bf0e74cde8427116771ed0b8e562a50
|
|
| MD5 |
d7e19622f05048927c51309cab850a51
|
|
| BLAKE2b-256 |
de86e7495281c9f97810af141d6de2f837d6cc2dd945a21aeb0771eded9a9fa2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4aa55a11184ecf8bf3a55690fec9a8659c2a50638ca4d60eccdc77999407fcf
|
|
| MD5 |
7cbea5278a44e9842f3e02c646119dcf
|
|
| BLAKE2b-256 |
84efc9753cfbc38b3401ad814cbb3f89a2323879c3e6d627d9f1222dafd17f2f
|