• Stars
    star
    1,643
  • Rank 28,446 (Top 0.6 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Natural Gradient Boosting for Probabilistic Prediction

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 load_boston
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

X, Y = load_boston(True)
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

More Repositories

1

chexpert-labeler

CheXpert NLP tool to extract observations from radiology reports.
Python
344
star
2

nlc

Neural Language Correction implemented on Tensorflow
Python
156
star
3

ManyICL

Python
103
star
4

CheXbert

Combining Automatic Labelers and Expert Annotations for Accurate Radiology Report Labeling Using BERT
Python
101
star
5

stanfordmlgroup.github.io

Group Website
HTML
95
star
6

nlm-noising

Python
75
star
7

blm

Our project on using computer vision to combat computer vision for a cause I hope you care about. #BlackLivesMatter
Python
39
star
8

MoCo-CXR

MoCo-based unsupervised training for Chest X-Ray Interpretation
Python
38
star
9

disentanglement

Official repository for our ICLR 2021 paper Evaluating the Disentanglement of Deep Generative Models with Manifold Topology
Python
36
star
10

DLBCL-Morph

DLBCL-Morph dataset containing high resolution tissue microarray scans from 209 DLBCL cases, with geometric features computed using deep learning
Jupyter Notebook
35
star
11

MedSelect

Learns effective selective labeling strategies for medical images using deep reinforcement learning and meta learning
Python
25
star
12

cheXphoto

Code used in paper "CheXphoto: 10,000+ Smartphone Photos and Synthetic Photographic Transformations of Chest X-rays for Benchmarking Deep Learning Robustness"
Python
21
star
13

VisualCheXbert

Addressing the Discrepancy Between Radiology Report Labels and Image Labels
Python
21
star
14

dq

Queue system (jobs) on the deep cluster
Shell
20
star
15

cdr-mimic

Official Repository for our UAI paper Countdown Regression on the MIMIC-III Dataset
Python
18
star
16

selfsupervised-lungandheartsounds

Python
17
star
17

mobius

Jupyter Notebook
16
star
18

methane-gapfill-ml

Python codebase for gap-filling eddy covariance methane fluxes at FLUXNET-CH4 wetlands with machine learning.
Python
14
star
19

CheXseg

Code used in the paper "CheXseg: Combining Expert Annotations with DNN-generated Saliency Maps for X-ray Segmentation"
Python
12
star
20

LaunchPad

LaunchPad is a light-weighted Slurm job launcher designed for hyper-parameter search.
Python
11
star
21

risk-adjustment-ml

Incorporating machine learning and social determinants of health indicators into prospective risk adjustment for health plan payments.
Python
11
star
22

lca-code

LiverCancerAssistant
Python
10
star
23

Auto-Generate-WLs

Code repository supporting the paper "Auto-Generating Weak Labels for Real & Synthetic Data to Improve Label-Scarce Medical Image Segmentation" - MIDL 2024
Jupyter Notebook
9
star
24

MedAug

Public release for MedAug
Jupyter Notebook
8
star
25

CheXaid

Python
5
star
26

influenza-qtof

Novel metabolomics approach combined with machine learning for the diagnosis of influenza from nasopharyngeal specimens
Jupyter Notebook
3
star
27

ed-monitor-data

Used to extract and process bedside monitoring data from the ED. Also contains a module useful for training machine learning models on the extracted data.
Python
2
star
28

ed-monitor-myocardial-injury

Jupyter Notebook
2
star
29

InterActive-Learning-Toolkit

Jupyter Notebook
1
star