Treelite
Functions
Model_loader

Functions

int TreeliteLoadLightGBMModel (const char *filename, ModelHandle *out)
 load a model file generated by LightGBM (Microsoft/LightGBM). The model file must contain a decision tree ensemble. More...
 
int TreeliteLoadXGBoostModel (const char *filename, ModelHandle *out)
 load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble. More...
 
int TreeliteLoadXGBoostJSON (const char *filename, ModelHandle *out)
 load a json model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble. More...
 
int TreeliteLoadXGBoostJSONString (const char *json_str, size_t length, ModelHandle *out)
 load a model stored as JSON stringby XGBoost (dmlc/xgboost). The model json must contain a decision tree ensemble. More...
 
int TreeliteLoadXGBoostModelFromMemoryBuffer (const void *buf, size_t len, ModelHandle *out)
 load an XGBoost model from a memory buffer. More...
 
int TreeliteLoadSKLearnRandomForestRegressor (int n_estimators, int n_features, const int64_t *node_count, const int64_t **children_left, const int64_t **children_right, const int64_t **feature, const double **threshold, const double **value, const int64_t **n_node_samples, const double **impurity, ModelHandle *out)
 Load a scikit-learn random forest regressor model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail. Note that this function can also be used to load an ensemble of extremely randomized trees (sklearn.ensemble.ExtraTreesRegressor). More...
 
int TreeliteLoadSKLearnRandomForestClassifier (int n_estimators, int n_features, int n_classes, const int64_t *node_count, const int64_t **children_left, const int64_t **children_right, const int64_t **feature, const double **threshold, const double **value, const int64_t **n_node_samples, const double **impurity, ModelHandle *out)
 Load a scikit-learn random forest classifier model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail. Note that this function can also be used to load an ensemble of extremely randomized trees (sklearn.ensemble.ExtraTreesClassifier). More...
 
int TreeliteLoadSKLearnGradientBoostingRegressor (int n_estimators, int n_features, const int64_t *node_count, const int64_t **children_left, const int64_t **children_right, const int64_t **feature, const double **threshold, const double **value, const int64_t **n_node_samples, const double **impurity, ModelHandle *out)
 Load a scikit-learn gradient boosting regressor model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail. More...
 
int TreeliteLoadSKLearnGradientBoostingClassifier (int n_estimators, int n_features, int n_classes, const int64_t *node_count, const int64_t **children_left, const int64_t **children_right, const int64_t **feature, const double **threshold, const double **value, const int64_t **n_node_samples, const double **impurity, ModelHandle *out)
 Load a scikit-learn gradient boosting classifier model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail. More...
 
int TreeliteQueryNumTree (ModelHandle handle, size_t *out)
 Query the number of trees in the model. More...
 
int TreeliteQueryNumFeature (ModelHandle handle, size_t *out)
 Query the number of features used in the model. More...
 
int TreeliteQueryNumClass (ModelHandle handle, size_t *out)
 Query the number of classes of the model. (1 if the model is binary classifier or regressor) More...
 
int TreeliteSetTreeLimit (ModelHandle handle, size_t limit)
 keep first N trees of model, limit must smaller than number of trees. More...
 
int TreeliteSerializeModel (const char *filename, ModelHandle handle)
 Serialize (persist) a model object to disk. More...
 
int TreeliteDeserializeModel (const char *filename, ModelHandle *out)
 Deserialize (load) a model object from disk. More...
 
int TreeliteFreeModel (ModelHandle handle)
 delete model from memory More...
 

Detailed Description

Model loader interface: read trees from the disk

Function Documentation

◆ TreeliteDeserializeModel()

int TreeliteDeserializeModel ( const char *  filename,
ModelHandle out 
)

Deserialize (load) a model object from disk.

Parameters
filenamename of the file from which to deserialize the model. The file should be created by a call to TreeliteSerializeModel().
handlehandle to the model object
Returns
0 for success, -1 for failure

Definition at line 242 of file c_api.cc.

◆ TreeliteFreeModel()

int TreeliteFreeModel ( ModelHandle  handle)

delete model from memory

Parameters
handlemodel to remove
Returns
0 for success, -1 for failure

Definition at line 252 of file c_api.cc.

◆ TreeliteLoadLightGBMModel()

int TreeliteLoadLightGBMModel ( const char *  filename,
ModelHandle out 
)

load a model file generated by LightGBM (Microsoft/LightGBM). The model file must contain a decision tree ensemble.

Parameters
filenamename of model file
outloaded model
Returns
0 for success, -1 for failure

Definition at line 145 of file c_api.cc.

◆ TreeliteLoadSKLearnGradientBoostingClassifier()

int TreeliteLoadSKLearnGradientBoostingClassifier ( int  n_estimators,
int  n_features,
int  n_classes,
const int64_t *  node_count,
const int64_t **  children_left,
const int64_t **  children_right,
const int64_t **  feature,
const double **  threshold,
const double **  value,
const int64_t **  n_node_samples,
const double **  impurity,
ModelHandle out 
)

Load a scikit-learn gradient boosting classifier model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail.

Parameters
n_estimatorsnumber of trees in the random forest
n_featuresnumber of features in the training data
n_classesnumber of classes in the target variable
node_countnode_count[i] stores the number of nodes in the i-th tree
children_leftchildren_left[i][k] stores the ID of the left child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
children_rightchildren_right[i][k] stores the ID of the right child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
featurefeature[i][k] stores the ID of the feature used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
thresholdthreshold[i][k] stores the threshold used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
valuevalue[i][k] stores the leaf output of node k of the i-th tree. This is only defined if node k is a leaf node.
n_node_samplesn_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree.
impurityimpurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree.
outpointer to store the loaded model
Returns
0 for success, -1 for failure

Definition at line 219 of file c_api.cc.

◆ TreeliteLoadSKLearnGradientBoostingRegressor()

int TreeliteLoadSKLearnGradientBoostingRegressor ( int  n_estimators,
int  n_features,
const int64_t *  node_count,
const int64_t **  children_left,
const int64_t **  children_right,
const int64_t **  feature,
const double **  threshold,
const double **  value,
const int64_t **  n_node_samples,
const double **  impurity,
ModelHandle out 
)

Load a scikit-learn gradient boosting regressor model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail.

Parameters
n_estimatorsnumber of trees in the random forest
n_featuresnumber of features in the training data
node_countnode_count[i] stores the number of nodes in the i-th tree
children_leftchildren_left[i][k] stores the ID of the left child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
children_rightchildren_right[i][k] stores the ID of the right child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
featurefeature[i][k] stores the ID of the feature used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
thresholdthreshold[i][k] stores the threshold used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
valuevalue[i][k] stores the leaf output of node k of the i-th tree. This is only defined if node k is a leaf node.
n_node_samplesn_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree.
impurityimpurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree.
outpointer to store the loaded model
Returns
0 for success, -1 for failure

Definition at line 206 of file c_api.cc.

◆ TreeliteLoadSKLearnRandomForestClassifier()

int TreeliteLoadSKLearnRandomForestClassifier ( int  n_estimators,
int  n_features,
int  n_classes,
const int64_t *  node_count,
const int64_t **  children_left,
const int64_t **  children_right,
const int64_t **  feature,
const double **  threshold,
const double **  value,
const int64_t **  n_node_samples,
const double **  impurity,
ModelHandle out 
)

Load a scikit-learn random forest classifier model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail. Note that this function can also be used to load an ensemble of extremely randomized trees (sklearn.ensemble.ExtraTreesClassifier).

Parameters
n_estimatorsnumber of trees in the random forest
n_featuresnumber of features in the training data
n_classesnumber of classes in the target variable
node_countnode_count[i] stores the number of nodes in the i-th tree
children_leftchildren_left[i][k] stores the ID of the left child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
children_rightchildren_right[i][k] stores the ID of the right child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
featurefeature[i][k] stores the ID of the feature used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
thresholdthreshold[i][k] stores the threshold used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
valuevalue[i][k] stores the leaf output of node k of the i-th tree. This is only defined if node k is a leaf node.
n_node_samplesn_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree.
impurityimpurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree.
outpointer to store the loaded model
Returns
0 for success, -1 for failure

Definition at line 193 of file c_api.cc.

◆ TreeliteLoadSKLearnRandomForestRegressor()

int TreeliteLoadSKLearnRandomForestRegressor ( int  n_estimators,
int  n_features,
const int64_t *  node_count,
const int64_t **  children_left,
const int64_t **  children_right,
const int64_t **  feature,
const double **  threshold,
const double **  value,
const int64_t **  n_node_samples,
const double **  impurity,
ModelHandle out 
)

Load a scikit-learn random forest regressor model from a collection of arrays. Refer to https://scikit-learn.org/stable/auto_examples/tree/plot_unveil_tree_structure.html to learn the mearning of the arrays in detail. Note that this function can also be used to load an ensemble of extremely randomized trees (sklearn.ensemble.ExtraTreesRegressor).

Parameters
n_estimatorsnumber of trees in the random forest
n_featuresnumber of features in the training data
node_countnode_count[i] stores the number of nodes in the i-th tree
children_leftchildren_left[i][k] stores the ID of the left child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
children_rightchildren_right[i][k] stores the ID of the right child node of node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
featurefeature[i][k] stores the ID of the feature used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
thresholdthreshold[i][k] stores the threshold used in the binary tree split at node k of the i-th tree. This is only defined if node k is an internal (non-leaf) node.
valuevalue[i][k] stores the leaf output of node k of the i-th tree. This is only defined if node k is a leaf node.
n_node_samplesn_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree.
impurityimpurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree.
outpointer to store the loaded model
Returns
0 for success, -1 for failure

Definition at line 180 of file c_api.cc.

◆ TreeliteLoadXGBoostJSON()

int TreeliteLoadXGBoostJSON ( const char *  filename,
ModelHandle out 
)

load a json model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble.

Parameters
filenamename of model file
outloaded model
Returns
0 for success, -1 for failure

Definition at line 159 of file c_api.cc.

◆ TreeliteLoadXGBoostJSONString()

int TreeliteLoadXGBoostJSONString ( const char *  json_str,
size_t  length,
ModelHandle out 
)

load a model stored as JSON stringby XGBoost (dmlc/xgboost). The model json must contain a decision tree ensemble.

Parameters
json_strthe string containing the JSON model specification
lengththe length of the JSON string
outloaded model
Returns
0 for success, -1 for failure

Definition at line 166 of file c_api.cc.

◆ TreeliteLoadXGBoostModel()

int TreeliteLoadXGBoostModel ( const char *  filename,
ModelHandle out 
)

load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble.

Parameters
filenamename of model file
outloaded model
Returns
0 for success, -1 for failure

Definition at line 152 of file c_api.cc.

◆ TreeliteLoadXGBoostModelFromMemoryBuffer()

int TreeliteLoadXGBoostModelFromMemoryBuffer ( const void *  buf,
size_t  len,
ModelHandle out 
)

load an XGBoost model from a memory buffer.

Parameters
bufmemory buffer
lensize of memory buffer
outloaded model
Returns
0 for success, -1 for failure

Definition at line 173 of file c_api.cc.

◆ TreeliteQueryNumClass()

int TreeliteQueryNumClass ( ModelHandle  handle,
size_t *  out 
)

Query the number of classes of the model. (1 if the model is binary classifier or regressor)

Parameters
handlemodel to query
outnumber of output groups
Returns
0 for success, -1 for failure

Definition at line 288 of file c_api.cc.

◆ TreeliteQueryNumFeature()

int TreeliteQueryNumFeature ( ModelHandle  handle,
size_t *  out 
)

Query the number of features used in the model.

Parameters
handlemodel to query
outnumber of features
Returns
0 for success, -1 for failure

Definition at line 281 of file c_api.cc.

◆ TreeliteQueryNumTree()

int TreeliteQueryNumTree ( ModelHandle  handle,
size_t *  out 
)

Query the number of trees in the model.

Parameters
handlemodel to query
outnumber of trees
Returns
0 for success, -1 for failure

Definition at line 274 of file c_api.cc.

◆ TreeliteSerializeModel()

int TreeliteSerializeModel ( const char *  filename,
ModelHandle  handle 
)

Serialize (persist) a model object to disk.

Parameters
filenamename of the file to which to serialize the model. The file will be using a binary format that's optimized to store the Treelite model object efficiently.
handlehandle to the model object
Returns
0 for success, -1 for failure

Definition at line 232 of file c_api.cc.

◆ TreeliteSetTreeLimit()

int TreeliteSetTreeLimit ( ModelHandle  handle,
size_t  limit 
)

keep first N trees of model, limit must smaller than number of trees.

Parameters
handlemodel
limitnumber of trees to keep
Returns
0 for success, -1 for failure

Definition at line 295 of file c_api.cc.