Metadata-Version: 2.4
Name: openboost
Version: 0.1.0
Summary: GPU-accelerated gradient boosting, written in Python
Project-URL: Homepage, https://github.com/jxucoder/openboost
Project-URL: Repository, https://github.com/jxucoder/openboost
Author: J. Xu
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: cuda,gbdt,gpu,gradient-boosting,machine-learning
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: numba>=0.60
Requires-Dist: numpy>=1.24
Provides-Extra: bench
Requires-Dist: modal>=1.0; extra == 'bench'
Requires-Dist: scikit-learn>=1.0; extra == 'bench'
Requires-Dist: xgboost>=2.0; extra == 'bench'
Provides-Extra: cuda
Requires-Dist: numba-cuda>=0.23; extra == 'cuda'
Provides-Extra: dev
Requires-Dist: modal>=1.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: scikit-learn>=1.0; extra == 'dev'
Requires-Dist: xgboost>=2.0; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == 'test'
Description-Content-Type: text/markdown

# openboost

[![Unit Tests](https://github.com/jxucoder/openboost/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/jxucoder/openboost/actions/workflows/unit-tests.yml)
[![PyPI version](https://img.shields.io/pypi/v/openboost.svg)](https://pypi.org/project/openboost/)
[![Python](https://img.shields.io/pypi/pyversions/openboost.svg)](https://pypi.org/project/openboost/)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

GPU-accelerated gradient boosting, written in Python.

## Building Blocks

[numba-cuda](https://github.com/NVIDIA/numba-cuda) compiles Python to CUDA kernels.

## The Problem

[GBDT research](https://github.com/jxucoder/awesome-gradient-boosting-machines) is active:

- [DART](http://proceedings.mlr.press/v38/korlakaivinayak15.pdf) — dropout for trees
- [NGBoost](https://arxiv.org/abs/1910.03225) — probabilistic predictions
- [GAMLSS](https://arxiv.org/abs/2304.03271) — distributional regression
- [GOSS](https://papers.nips.cc/paper/6907-lightgbm-a-highly-efficient-gradient-boosting-decision-tree) — gradient-based sampling
- [GBDT-PL](https://www.ijcai.org/Proceedings/2019/0476.pdf) — linear leaves
- [Oblivious Trees](https://arxiv.org/abs/1706.09516) — symmetric splits

OpenBoost lets you implement these in Python.

## Goal

GPU GBDT core in Python. Extend it to build variants.

## Install

```bash
pip install openboost
```

## Status

WIP.

## License

Apache-2.0
