GBNet Documentation
GBNet is a Python library that provides XGBoost and LightGBM PyTorch Modules.
Key Features
XGBoost and LightGBM PyTorch Modules
Linear Module that updates using Gradient Boosting for improved performance
- Specific model implementations using XGBoost and LightGBM Modules
Forecasting
Ordinal Regression
Survival analysis (discrete Beta & Theta models, continuous-time hazard integration)
Installation
Install GBNet using pip:
pip install gbnet
Additional troubleshooting details are available in the Overview.
Quick Start
Here’s a simple example of using XGBModule to mimic standard XGBoost.
from gbnet import xgbmodule
# XGBModule training
xnet = xgbmodule.XGBModule(n, input_dim, output_dim, params={})
xmse = torch.nn.MSELoss()
X_dmatrix = xgb.DMatrix(X)
for i in range(iters):
xnet.zero_grad()
xpred = xnet(X_dmatrix)
loss = 1/2 * xmse(xpred, torch.Tensor(Y)) # xgboost uses 1/2 (Y - P)^2
loss.backward(create_graph=True)
xnet.gb_step()
xnet.eval() # like any torch module, use eval mode for predictions