OrdinalGBT, which stands for Ordinal gradient boosted trees, is a Python package that implements an ordinal regression loss function using the lightGBM framework. Ordinal regression is a type of regression analysis used for predicting an ordinal variable, i.e. a variable that can be sorted in some order. LightGBM is a gradient boosting framework that uses tree-based learning algorithms and is designed to be distributed and efficient.
You can install OrdinalGBT using pip:
pip install ordinalgbt
Here are a few examples on how to use the LGBMOrdinal
class:
- Fitting the model
from ordinalgbt.lgb import LGBMOrdinal
import numpy as np
# Create the model
model = LGBMOrdinal()
# Generate some data
X = np.random.rand(100, 10)
y = np.random.randint(0, 3, 100)
# Fit the model
model.fit(X, y)
- Predicting with the model
After fitting the model, you can use it to make predictions:
# Generate some new data
X_new = np.random.rand(10, 10)
# Use the model to make predictions
# the .predict method returns the class prediction rather than raw score or
# probabilities
y_pred = model.predict(X_new)
print(y_pred)
- Predicting probabilities with the model
The predict_proba
method can be used to get the probabilities of each class:
# Use the model to predict probabilities
y_proba = model.predict_proba(X_new)
print(y_proba)
- Create XGBoost and Catboost implementations
- Bring test coverage to 100%
- Implement the all-thresholds loss function
- Implement the ordistic loss function
- Create more stable sigmoid calculation
- Experiment with bounded and unbounded optimisation for the thresholds
- Identify way to reduce jumps due to large gradient