Importing tree ensemble models
Since the scope of Treelite is limited to prediction only, one must use other machine learning packages to train decision tree ensemble models. In this document, we will show how to import an ensemble model that had been trained elsewhere.
Importing XGBoost models
XGBoost (dmlc/xgboost) is a fast, scalable package for gradient boosting. Both Treelite and XGBoost are hosted by the DMLC (Distributed Machine Learning Community) group.
Treelite plays well with XGBoost — if you used XGBoost to train your ensemble
model, you need only one line of code to import it. Depending on where your
model is located, use from_xgboost()
,
load_xgboost_model()
, or
load_xgboost_model_legacy_binary()
:
Load XGBoost model from a
xgboost.Booster
object
# bst = an object of type xgboost.Booster
model = treelite.frontend.from_xgboost(bst)
Load XGBoost model from a model file
# JSON format
model = treelite.frontend.load_xgboost_model("my_model.json")
# Legacy binary format
model = treelite.frontend.load_xgboost_model_legacy_binary("my_model.model")
Importing LightGBM models
LightGBM (Microsoft/LightGBM) is
another well known machine learning package for gradient boosting. To import
models generated by LightGBM, use the
load_lightgbm_model()
method:
model = treelite.frontend.load_lightgbm_model("lightgbm_model.txt")
Importing scikit-learn models
Scikit-learn (scikit-learn/scikit-learn) is a Python machine learning package known for its versatility and ease of use. It supports a wide variety of models and algorithms. The following kinds of models can be imported into Treelite.
To import scikit-learn models, use
treelite.sklearn.import_model()
:
# clf is the model object generated by scikit-learn
import treelite.sklearn
model = treelite.sklearn.import_model(clf)
How about other packages?
If you used other packages to train your ensemble model, you’d need to specify the model programmatically: