7 #ifndef TREELITE_FRONTEND_H_ 8 #define TREELITE_FRONTEND_H_ 52 std::unique_ptr<treelite::Model>
LoadXGBoostModel(
const void* buf,
size_t len);
94 int n_estimators,
int n_features,
const int64_t* node_count,
const int64_t** children_left,
95 const int64_t** children_right,
const int64_t** feature,
const double** threshold,
96 const double** value,
const int64_t** n_node_samples,
const double** weighted_n_node_samples,
97 const double** impurity);
124 int n_estimators,
int n_features,
const int64_t* node_count,
const int64_t** children_left,
125 const int64_t** children_right,
const int64_t** feature,
const double** threshold,
126 const double** value,
const int64_t** n_node_samples,
const double** weighted_n_node_samples,
127 const double** impurity,
const double ratio_c);
156 int n_estimators,
int n_features,
int n_classes,
const int64_t* node_count,
157 const int64_t** children_left,
const int64_t** children_right,
const int64_t** feature,
158 const double** threshold,
const double** value,
const int64_t** n_node_samples,
159 const double** weighted_n_node_samples,
const double** impurity);
186 int n_estimators,
int n_features,
const int64_t* node_count,
const int64_t** children_left,
187 const int64_t** children_right,
const int64_t** feature,
const double** threshold,
188 const double** value,
const int64_t** n_node_samples,
const double** weighted_n_node_samples,
189 const double** impurity);
217 int n_estimators,
int n_features,
int n_classes,
const int64_t* node_count,
218 const int64_t** children_left,
const int64_t** children_right,
const int64_t** feature,
219 const double** threshold,
const double** value,
const int64_t** n_node_samples,
220 const double** weighted_n_node_samples,
const double** impurity);
227 struct TreeBuilderImpl;
228 struct ModelBuilderImpl;
233 std::shared_ptr<void> handle_;
242 template <
typename T>
243 static Value Create(T init_value);
245 template <
typename T>
247 template <
typename T>
248 const T& Get()
const;
249 template <
typename Func>
250 inline auto Dispatch(Func func);
251 template <
typename Func>
252 inline auto Dispatch(Func func)
const;
277 void CreateNode(
int node_key);
282 void DeleteNode(
int node_key);
287 void SetRootNode(
int node_key);
301 void SetNumericalTestNode(
int node_key,
unsigned feature_id,
const char* op,
Value threshold,
302 bool default_left,
int left_child_key,
int right_child_key);
303 void SetNumericalTestNode(
int node_key,
unsigned feature_id,
Operator op,
Value threshold,
304 bool default_left,
int left_child_key,
int right_child_key);
318 void SetCategoricalTestNode(
int node_key,
unsigned feature_id,
319 const std::vector<uint32_t>& left_categories,
bool default_left,
320 int left_child_key,
int right_child_key);
327 void SetLeafNode(
int node_key,
Value leaf_value);
336 void SetLeafVectorNode(
int node_key,
const std::vector<Value>& leaf_vector);
339 std::unique_ptr<TreeBuilderImpl> pimpl_;
363 ModelBuilder(
int num_feature,
int num_class,
bool average_tree_output,
371 void SetModelParam(
const char* name,
const char* value);
384 int InsertTree(
TreeBuilder* tree_builder,
int index = -1);
396 void DeleteTree(
int index);
401 std::unique_ptr<Model> CommitModel();
404 std::unique_ptr<ModelBuilderImpl> pimpl_;
412 #endif // TREELITE_FRONTEND_H_
Implementation for 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 ...
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 i...
TypeInfo
Types used by thresholds and leaf outputs.
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 en...
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://scik...
defines configuration macros of Treelite
std::unique_ptr< treelite::Model > LoadXGBoostJSONModelString(const char *json_str, size_t length)
load an XGBoost model from a JSON string
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://sciki...
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.
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 en...
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...
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.
Operator
comparison operators