Skip to main content

PGBM Airlab Amsterdam

PyPi version Python version GitHub license

Probabilistic Gradient Boosting Machines (PGBM) is a probabilistic gradient boosting framework in Python based on PyTorch/Numba, developed by Airlab in Amsterdam. It provides the following advantages over existing frameworks:

  • Probabilistic regression estimates instead of only point estimates. (example)
  • Auto-differentiation of custom loss functions. (example, example)
  • Native GPU-acceleration. (example)
  • Distributed training for CPU and GPU, across multiple nodes. (examples)
  • Ability to optimize probabilistic estimates after training for a set of common distributions, without retraining the model. (example)
  • Full integration with scikit-learn through a fork of HistGradientBoostingRegressor (examples)

It is aimed at users interested in solving large-scale tabular probabilistic regression problems, such as probabilistic time series forecasting.

For more details, read the docs or our paper or check out the examples.

Below a simple example to generate 1000 estimates for each of our test points:

from pgbm.sklearn import HistGradientBoostingRegressor
from sklearn.model_selection import train_test_split
from sklearn.datasets import fetch_california_housing

X, y = fetch_california_housing(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1)
model = HistGradientBoostingRegressor().fit(X_train, y_train) 
yhat_test, yhat_test_std = model.predict(X_test, return_std=True)
yhat_dist = model.sample(yhat_test, yhat_test_std, n_estimates=1000)

See also this example where we compare PGBM to standard gradient boosting quantile regression methods, demonstrating that we can achieve comparable or better probabilistic performance whilst only training a single model.

Installation

See Installation section in our docs.

Support

In general, PGBM works similar to existing gradient boosting packages such as LightGBM or xgboost (and it should be possible to more or less use it as a drop-in replacement).

In case further support is required, open an issue.

Reference

Olivier Sprangers, Sebastian Schelter, Maarten de Rijke. Probabilistic Gradient Boosting Machines for Large-Scale Probabilistic Regression. Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 21), August 14–18, 2021, Virtual Event, Singapore.

The experiments from our paper can be replicated by running the scripts in the experiments folder. Datasets are downloaded when needed in the experiments except for higgs and m5, which should be pre-downloaded and saved to the datasets folder (Higgs) and to datasets/m5 (m5).

License

This project is licensed under the terms of the Apache 2.0 license.

Acknowledgements

This project was developed by Airlab Amsterdam.

Release files for pgbm 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pgbm 2.3.0
File Size Uploaded
pgbm-2.3.0.tar.gz 1.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pgbm 2.3.0
File
pgbm-2.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pgbm-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
pgbm-2.3.0-cp311-cp311-macosx_12_0_arm64.whl CPython 3.11 CPython 3.11 macOS 12.0+ ARM64 Details
pgbm-2.3.0-cp311-cp311-macosx_10_13_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.13+ x86-64 Details
pgbm-2.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pgbm-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
pgbm-2.3.0-cp310-cp310-macosx_12_0_arm64.whl CPython 3.10 CPython 3.10 macOS 12.0+ ARM64 Details
pgbm-2.3.0-cp310-cp310-macosx_10_13_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.13+ x86-64 Details
pgbm-2.3.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pgbm-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
pgbm-2.3.0-cp39-cp39-macosx_12_0_arm64.whl CPython 3.9 CPython 3.9 macOS 12.0+ ARM64 Details
pgbm-2.3.0-cp39-cp39-macosx_10_13_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.13+ x86-64 Details
pgbm-2.3.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pgbm-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
pgbm-2.3.0-cp38-cp38-macosx_12_0_arm64.whl CPython 3.8 CPython 3.8 macOS 12.0+ ARM64 Details
pgbm-2.3.0-cp38-cp38-macosx_10_13_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.13+ x86-64 Details

Total release size: 51.2 MB

Release files / pgbm-2.3.0.tar.gz

Download URL pgbm-2.3.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
7299a59f3f8b0a1b169c68b47dbeff55970ac45ef23cda706e7cacc2b2918d82
BLAKE2b-256 checksum
How to use checksums
32fdaba2ea481f01125b9849350bc8cb5c3972a1fc66a2477f9c8677af9bcbfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp311-cp311-win_amd64.whl

Download URL pgbm-2.3.0-cp311-cp311-win_amd64.whl
Size 2.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
208c76e26bcd232fb0ed86eae575afa29a21cad4c4d062ae8bc937f9174518ec
BLAKE2b-256 checksum
How to use checksums
4f376d56dd7e2e6bd8c3f66c2147a8a10931320b32babce49bb3cdd6296d1894
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pgbm-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
035b570d0a852f61a7873667a81ed189cdca552c049d36019d1fd2f3d322a870
BLAKE2b-256 checksum
How to use checksums
5a2cba6dd5d4d07d7754691d94a498835a4f8b47ecb369dcc7e7615b381f6a97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp311-cp311-macosx_12_0_arm64.whl

Download URL pgbm-2.3.0-cp311-cp311-macosx_12_0_arm64.whl
Size 2.4 MB
Tags CPython 3.11 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
d87b1e37f8817146bb8c380651035ba706ffc110ee42ebcdd8fff4b74c1086bf
BLAKE2b-256 checksum
How to use checksums
4b70d29f657d2baba67c188dc2f9056299b173d8592c4b70cf6dbc45511aedfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp311-cp311-macosx_10_13_x86_64.whl

Download URL pgbm-2.3.0-cp311-cp311-macosx_10_13_x86_64.whl
Size 2.5 MB
Tags CPython 3.11 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
18a73815743fbdcc5fc132ab209b300893eb83036352b12957f73da5452f31d3
BLAKE2b-256 checksum
How to use checksums
32300952b74b9bbb30ab484ee13ff739480a69eba819397916665133f8911ebf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp310-cp310-win_amd64.whl

Download URL pgbm-2.3.0-cp310-cp310-win_amd64.whl
Size 2.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d4277c9c4fe731cbb7fb8bc4a47fd69aa8c1e43516fb680b8d06830fd3bf61c9
BLAKE2b-256 checksum
How to use checksums
19587963f2d2d8cd056bfed1deabb7a46aaf3650b988195e7fbd8a190baed260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pgbm-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
312269c112f8ce99e191c365543f0baffae460111b2b449ea44df050c6c4b44f
BLAKE2b-256 checksum
How to use checksums
b372663da8fcbe6c76cf81fcbbda8b67702c578c6843683aade8f83d521ad6f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp310-cp310-macosx_12_0_arm64.whl

Download URL pgbm-2.3.0-cp310-cp310-macosx_12_0_arm64.whl
Size 2.4 MB
Tags CPython 3.10 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
212777d025519ff75a5bd811105ed1a03e007b665fb58e0bfc0529c30380528b
BLAKE2b-256 checksum
How to use checksums
5e12d4d4538c9eaf9a000a29134dbf5eda38ffab41c96a03bf44a53758e17eea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp310-cp310-macosx_10_13_x86_64.whl

Download URL pgbm-2.3.0-cp310-cp310-macosx_10_13_x86_64.whl
Size 2.5 MB
Tags CPython 3.10 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
117618a71b0874cd299def84efd78d72054f6189c078dd21cf93730a1b6c45fe
BLAKE2b-256 checksum
How to use checksums
918aacc7de646a774a93895e4c05da53bed876959ef657caa53c5e2eedddfdea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp39-cp39-win_amd64.whl

Download URL pgbm-2.3.0-cp39-cp39-win_amd64.whl
Size 2.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
a505cf6e700ddf7a88f2b22f876c59fbb49265d683675da545584f5a94b5cf17
BLAKE2b-256 checksum
How to use checksums
7df7fa726f34fe08bc9831e1e5d92ad152aee84f9e33a1e70f348045324716ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pgbm-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
20bde5fb88ac6ed3970e1070b019a209b4378c280d282cded72fb4e66bf948ed
BLAKE2b-256 checksum
How to use checksums
c7e38d5ca27b465df7553667ca9174bd33091ef5ab164281224ed036a4568805
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp39-cp39-macosx_12_0_arm64.whl

Download URL pgbm-2.3.0-cp39-cp39-macosx_12_0_arm64.whl
Size 2.4 MB
Tags CPython 3.9 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
f901c48f5cafcd037e409c85376c1f39ea4aa6ea1c7f1900dee94d597c25645f
BLAKE2b-256 checksum
How to use checksums
1f690efff2070155ee4efefa1b1dda276bccfc4b32154d342e5231cf75ddf6bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp39-cp39-macosx_10_13_x86_64.whl

Download URL pgbm-2.3.0-cp39-cp39-macosx_10_13_x86_64.whl
Size 2.5 MB
Tags CPython 3.9 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
33d4833babe1cc56b6198e5ffddc3f807f86aa36c2cc377f63cdb40397e400da
BLAKE2b-256 checksum
How to use checksums
e63d37e9bb0349d4a4b361a24d4daaf81a56ce5f544656e80b58416e9dbac622
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp38-cp38-win_amd64.whl

Download URL pgbm-2.3.0-cp38-cp38-win_amd64.whl
Size 2.1 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
4053d2a44908e7d7a626de6d13f26606dd0270e5c355f94b3564147f21105c9f
BLAKE2b-256 checksum
How to use checksums
64587822ea9200e670495220ef5889ca4578d67f971fd296a41ed2a5f935e76e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pgbm-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.5 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d156aece6c7e4e14b0f341d500c6235b3e0faa1c537b469a376dc3caffe127b3
BLAKE2b-256 checksum
How to use checksums
69a409b5dd018fd72b921295864e8e94f04f9e4b63ff96e00923bfecab061105
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp38-cp38-macosx_12_0_arm64.whl

Download URL pgbm-2.3.0-cp38-cp38-macosx_12_0_arm64.whl
Size 2.4 MB
Tags CPython 3.8 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
db22a45657a9cf73934109e3e5212867c221ef7428b4e1b6cebfb6e34d983bc1
BLAKE2b-256 checksum
How to use checksums
1916660e5dcb8962ea613bc36efbf110e019b3f0e187db2218308151a258333c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / pgbm-2.3.0-cp38-cp38-macosx_10_13_x86_64.whl

Download URL pgbm-2.3.0-cp38-cp38-macosx_10_13_x86_64.whl
Size 2.5 MB
Tags CPython 3.8 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
0913b1d5c72a6642d52794e98086ce578ea4c725f1df856f938ebd7de341fb36
BLAKE2b-256 checksum
How to use checksums
151100c1e6fbb17513532848c2cde9dbda98cace77dfa19ba21f31b39ff4fa68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

This release

2.3.0 This release

17 release files

2.2.0

13 release files

2.1.1

13 release files

2.1.0

13 release files

1.8.0

2 release files

1.7.1

2 release files

1.7

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

0.9

2 release files

0.8.1

2 release files

0.8

1 release file

0.7

2 release files

0.6.1

2 release files

0.6

2 release files

0.5.1

2 release files

0.4

3 release files

0.3

3 release files

0.2

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page