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