Skip to main content

Library for probabilistic predictions via gradient boosting.

Project description

NGBoost: Natural Gradient Boosting for Probabilistic Prediction

Python package GitHub Repo Size Github License Code style: black PyPI PyPI Downloads

ngboost is a Python library that implements Natural Gradient Boosting, as described in "NGBoost: Natural Gradient Boosting for Probabilistic Prediction". It is built on top of Scikit-Learn, and is designed to be scalable and modular with respect to choice of proper scoring rule, distribution, and base learner. A didactic introduction to the methodology underlying NGBoost is available in this slide deck.

Installation

via pip

pip install --upgrade ngboost

via conda-forge

conda install -c conda-forge ngboost

Usage

Probabilistic regression example on the Boston housing dataset:

from ngboost import NGBRegressor

from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# Load California housing dataset
cal = fetch_california_housing()
X, Y = cal.data, cal.target

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2)

ngb = NGBRegressor().fit(X_train, Y_train)
Y_preds = ngb.predict(X_test)
Y_dists = ngb.pred_dist(X_test)

# test Mean Squared Error
test_MSE = mean_squared_error(Y_preds, Y_test)
print('Test MSE', test_MSE)

# test Negative Log Likelihood
test_NLL = -Y_dists.logpdf(Y_test).mean()
print('Test NLL', test_NLL)

Details on available distributions, scoring rules, learners, tuning, and model interpretation are available in our user guide, which also includes numerous usage examples and information on how to add new distributions or scores to NGBoost.

License

Apache License 2.0.

Reference

Tony Duan, Anand Avati, Daisy Yi Ding, Khanh K. Thai, Sanjay Basu, Andrew Y. Ng, Alejandro Schuler. 2019. NGBoost: Natural Gradient Boosting for Probabilistic Prediction. arXiv

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

ngboost-0.5.8.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

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

ngboost-0.5.8-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file ngboost-0.5.8.tar.gz.

File metadata

  • Download URL: ngboost-0.5.8.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.5 Darwin/25.2.0

File hashes

Hashes for ngboost-0.5.8.tar.gz
Algorithm Hash digest
SHA256 fd5a005e54bbd52de189c7d3f820d8081be07e60d21a750e7b3a0fe6ceb98ecf
MD5 efcc14749ed2607c70093f5d226d7b1a
BLAKE2b-256 35049c00875369ae4d7c99d471301b9dd78d1caf28ef91d5d7228464fcf2de85

See more details on using hashes here.

File details

Details for the file ngboost-0.5.8-py3-none-any.whl.

File metadata

  • Download URL: ngboost-0.5.8-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.5 Darwin/25.2.0

File hashes

Hashes for ngboost-0.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6e5068b770f250fbd0ede549e839d2bf4cd865605b3691a0508e55e21551de97
MD5 77dda18608bc7058774b5436d3a4ca71
BLAKE2b-256 0205c84a46ee5bd8797af1ee2e64619e9245315c4bffe06ec679473c6a75f0e3

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