Treelite
|
Collection of front-end methods to load or construct ensemble model. More...
#include <treelite/base.h>
#include <string>
#include <memory>
#include <vector>
#include <cstdint>
#include "frontend_impl.h"
Go to the source code of this file.
Classes | |
class | Value |
class | TreeBuilder |
tree builder class More... | |
class | ModelBuilder |
model builder class More... | |
Functions | |
std::unique_ptr< treelite::Model > | LoadLightGBMModel (const char *filename) |
load a model file generated by LightGBM (Microsoft/LightGBM). The model file must contain a decision tree ensemble. More... | |
std::unique_ptr< treelite::Model > | LoadLightGBMModelFromString (const char *model_str) |
Load a LightGBM model from a string. The string should be created with the model_to_string() method in LightGBM. More... | |
std::unique_ptr< treelite::Model > | LoadXGBoostModel (const char *filename) |
load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble. More... | |
std::unique_ptr< treelite::Model > | LoadXGBoostModel (const void *buf, size_t len) |
load an XGBoost model from a memory buffer. More... | |
std::unique_ptr< treelite::Model > | LoadXGBoostJSONModel (const char *filename) |
load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble in the JSON format. More... | |
std::unique_ptr< treelite::Model > | LoadXGBoostJSONModelString (const char *json_str, size_t length) |
load an XGBoost model from a JSON string More... | |
std::unique_ptr< treelite::Model > | LoadSKLearnRandomForestRegressor (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 **weighted_n_node_samples, const double **impurity) |
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... | |
std::unique_ptr< treelite::Model > | LoadSKLearnIsolationForest (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 **weighted_n_node_samples, const double **impurity, const double ratio_c) |
Load a scikit-learn isolation forest 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... | |
std::unique_ptr< treelite::Model > | LoadSKLearnRandomForestClassifier (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 **weighted_n_node_samples, const double **impurity) |
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... | |
std::unique_ptr< treelite::Model > | LoadSKLearnGradientBoostingRegressor (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 **weighted_n_node_samples, const double **impurity) |
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... | |
std::unique_ptr< treelite::Model > | LoadSKLearnGradientBoostingClassifier (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 **weighted_n_node_samples, const double **impurity) |
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... | |
Collection of front-end methods to load or construct ensemble model.
Copyright (c) 2017-2021 by Contributors
Definition in file frontend.h.
std::unique_ptr< treelite::Model > LoadLightGBMModel | ( | const char * | filename | ) |
load a model file generated by LightGBM (Microsoft/LightGBM). The model file must contain a decision tree ensemble.
filename | name of model file |
Definition at line 28 of file lightgbm.cc.
std::unique_ptr< treelite::Model > LoadLightGBMModelFromString | ( | const char * | model_str | ) |
Load a LightGBM model from a string. The string should be created with the model_to_string() method in LightGBM.
model_str | the model string |
Definition at line 33 of file lightgbm.cc.
std::unique_ptr< treelite::Model > LoadSKLearnGradientBoostingClassifier | ( | 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 ** | weighted_n_node_samples, | ||
const double ** | impurity | ||
) |
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.
n_estimators | number of trees in the random forest |
n_features | number of features in the training data |
n_classes | number of classes in the target variable |
node_count | node_count[i] stores the number of nodes in the i-th tree |
children_left | children_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_right | children_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. |
feature | feature[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. |
threshold | threshold[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. |
value | value[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_samples | n_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree. |
weighted_n_node_samples | weighted_n_node_samples[i][k] stores the sum of weighted data samples associated with node k of the i-th tree. |
impurity | impurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree. |
Definition at line 290 of file sklearn.cc.
std::unique_ptr< treelite::Model > LoadSKLearnGradientBoostingRegressor | ( | 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 ** | weighted_n_node_samples, | ||
const double ** | impurity | ||
) |
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.
n_estimators | number of trees in the random forest |
n_features | number of features in the training data |
node_count | node_count[i] stores the number of nodes in the i-th tree |
children_left | children_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_right | children_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. |
feature | feature[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. |
threshold | threshold[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. |
value | value[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_samples | n_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree. |
weighted_n_node_samples | weighted_n_node_samples[i][k] stores the sum of weighted data samples associated with node k of the i-th tree. |
impurity | impurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree. |
Definition at line 212 of file sklearn.cc.
std::unique_ptr< treelite::Model > LoadSKLearnIsolationForest | ( | 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 ** | weighted_n_node_samples, | ||
const double ** | impurity, | ||
const double | ratio_c | ||
) |
Load a scikit-learn isolation forest 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.
n_estimators | number of trees in the isolation forest |
n_features | number of features in the training data |
node_count | node_count[i] stores the number of nodes in the i-th tree |
children_left | children_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_right | children_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. |
feature | feature[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. |
threshold | threshold[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. |
value | value[i][k] stores the expected isolation depth of node k of the i-th tree. This is only defined if node k is a leaf node. |
n_node_samples | n_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree. |
weighted_n_node_samples | weighted_n_node_samples[i][k] stores the sum of weighted data samples associated with node k of the i-th tree. |
impurity | not used, but must be passed as array of arrays for each tree and node. |
ratio_c | standardizing constant to use for calculation of the anomaly score. |
Definition at line 103 of file sklearn.cc.
std::unique_ptr< treelite::Model > LoadSKLearnRandomForestClassifier | ( | 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 ** | weighted_n_node_samples, | ||
const double ** | impurity | ||
) |
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).
n_estimators | number of trees in the random forest |
n_features | number of features in the training data |
n_classes | number of classes in the target variable |
node_count | node_count[i] stores the number of nodes in the i-th tree |
children_left | children_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_right | children_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. |
feature | feature[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. |
threshold | threshold[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. |
value | value[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_samples | n_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree. |
weighted_n_node_samples | weighted_n_node_samples[i][k] stores the sum of weighted data samples associated with node k of the i-th tree. |
impurity | impurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree. |
Definition at line 195 of file sklearn.cc.
std::unique_ptr< treelite::Model > LoadSKLearnRandomForestRegressor | ( | 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 ** | weighted_n_node_samples, | ||
const double ** | impurity | ||
) |
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).
n_estimators | number of trees in the random forest |
n_features | number of features in the training data |
node_count | node_count[i] stores the number of nodes in the i-th tree |
children_left | children_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_right | children_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. |
feature | feature[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. |
threshold | threshold[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. |
value | value[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_samples | n_node_samples[i][k] stores the number of data samples associated with node k of the i-th tree. |
weighted_n_node_samples | weighted_n_node_samples[i][k] stores the sum of weighted data samples associated with node k of the i-th tree. |
impurity | impurity[i][k] stores the impurity measure (gini, entropy etc) associated with node k of the i-th tree. |
Definition at line 77 of file sklearn.cc.
std::unique_ptr< treelite::Model > LoadXGBoostJSONModel | ( | const char * | filename | ) |
load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble in the JSON format.
filename | name of model file |
Definition at line 41 of file xgboost_json.cc.
std::unique_ptr< treelite::Model > LoadXGBoostJSONModelString | ( | const char * | json_str, |
size_t | length | ||
) |
load an XGBoost model from a JSON string
json_str | JSON char array |
length | length of JSON char array |
Definition at line 81 of file xgboost_json.cc.
std::unique_ptr< treelite::Model > LoadXGBoostModel | ( | const char * | filename | ) |
load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree ensemble.
filename | name of model file |
Definition at line 29 of file xgboost.cc.
std::unique_ptr< treelite::Model > LoadXGBoostModel | ( | const void * | buf, |
size_t | len | ||
) |
load an XGBoost model from a memory buffer.
buf | memory buffer |
len | size of memory buffer |
Definition at line 34 of file xgboost.cc.