Skip to main content

treeboost_autograd

Project description

treeboost_autograd

Easy Custom Losses for Tree Boosters using Pytorch

Why calculate first and second derivatives for your objective when you can let PyTorch do it for you?

This packages includes an easy to use custom PyTorch objective implementation for tree boosters (just add loss).
Supported boosting packages: CatBoost, XGBoost, LightGBM.
Supported tasks: regression, binary classification.

Check out the post in Towards Data Science: https://towardsdatascience.com/easy-custom-losses-for-tree-boosters-using-pytorch-57ffaa0b2eb3

Usage

Usage is very similar for all boosting libraries:
from treeboost_autograd import CatboostObjective, LightGbmObjective, XgboostObjective
Ready-to-run examples are available at the Git repo: https://github.com/TomerRonen34/treeboost_autograd/tree/main/examples

pip install treeboost_autograd

def absolute_error_loss(preds: torch.Tensor, targets: torch.Tensor) -> torch.Tensor:
    return torch.abs(preds - targets).sum()

custom_objective = CatboostObjective(loss_function=absolute_error_loss)
model = CatBoostRegressor(loss_function=custom_objective, eval_metric="MAE")
model.fit(X_train, y_train)

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

treeboost_autograd-0.1.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

treeboost_autograd-0.1.2-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file treeboost_autograd-0.1.2.tar.gz.

File metadata

  • Download URL: treeboost_autograd-0.1.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.21.0

File hashes

Hashes for treeboost_autograd-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9f22e0b6a367732c256648817c4ee1cf7e00b3da8442e09b2adbef6ece183b08
MD5 2dad5474b1c73b89b1121d161e47cf2e
BLAKE2b-256 8fead996c432a4042065bded4b826609ebe71f8a4ee1f1a079b7019de2fe2087

See more details on using hashes here.

File details

Details for the file treeboost_autograd-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for treeboost_autograd-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f3862331d2bd441b4b0c621231a660e9fac1ef04a92bed1bba18068004c27454
MD5 8f15c414a7cd4543cfca375f7f90ac8f
BLAKE2b-256 618b80cbe09bd03ac1579770017447da78cfe1f72578190996ca61670a05ebbe

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