7 #ifndef TREELITE_FRONTEND_H_ 8 #define TREELITE_FRONTEND_H_ 45 std::unique_ptr<treelite::Model>
LoadXGBoostModel(
const void* buf,
size_t len);
85 int n_estimators,
int n_features,
const int64_t* node_count,
const int64_t** children_left,
86 const int64_t** children_right,
const int64_t** feature,
const double** threshold,
87 const double** value,
const int64_t** n_node_samples,
const double** impurity);
114 int n_estimators,
int n_features,
int n_classes,
const int64_t* node_count,
115 const int64_t** children_left,
const int64_t** children_right,
const int64_t** feature,
116 const double** threshold,
const double** value,
const int64_t** n_node_samples,
117 const double** impurity);
142 int n_estimators,
int n_features,
const int64_t* node_count,
const int64_t** children_left,
143 const int64_t** children_right,
const int64_t** feature,
const double** threshold,
144 const double** value,
const int64_t** n_node_samples,
const double** impurity);
170 int n_estimators,
int n_features,
int n_classes,
const int64_t* node_count,
171 const int64_t** children_left,
const int64_t** children_right,
const int64_t** feature,
172 const double** threshold,
const double** value,
const int64_t** n_node_samples,
173 const double** impurity);
180 struct TreeBuilderImpl;
181 struct ModelBuilderImpl;
186 std::shared_ptr<void> handle_;
195 template <
typename T>
196 static Value Create(T init_value);
198 template <
typename T>
200 template <
typename T>
201 const T& Get()
const;
202 template <
typename Func>
203 inline auto Dispatch(Func func);
204 template <
typename Func>
205 inline auto Dispatch(Func func)
const;
230 void CreateNode(
int node_key);
235 void DeleteNode(
int node_key);
240 void SetRootNode(
int node_key);
254 void SetNumericalTestNode(
int node_key,
unsigned feature_id,
const char* op,
Value threshold,
255 bool default_left,
int left_child_key,
int right_child_key);
256 void SetNumericalTestNode(
int node_key,
unsigned feature_id,
Operator op,
Value threshold,
257 bool default_left,
int left_child_key,
int right_child_key);
271 void SetCategoricalTestNode(
int node_key,
unsigned feature_id,
272 const std::vector<uint32_t>& left_categories,
bool default_left,
273 int left_child_key,
int right_child_key);
280 void SetLeafNode(
int node_key,
Value leaf_value);
289 void SetLeafVectorNode(
int node_key,
const std::vector<Value>& leaf_vector);
292 std::unique_ptr<TreeBuilderImpl> pimpl_;
316 ModelBuilder(
int num_feature,
int num_class,
bool average_tree_output,
324 void SetModelParam(
const char* name,
const char* value);
337 int InsertTree(
TreeBuilder* tree_builder,
int index = -1);
349 void DeleteTree(
int index);
354 std::unique_ptr<Model> CommitModel();
357 std::unique_ptr<ModelBuilderImpl> pimpl_;
365 #endif // TREELITE_FRONTEND_H_ 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 **impurity)
Load a scikit-learn random forest regressor model from a collection of arrays. Refer to https://sciki...
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 > 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 **impurity)
Load a scikit-learn random forest classifier model from a collection of arrays. Refer to https://scik...
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 **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.
TypeInfo
Types used by thresholds and leaf outputs.
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 **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 > LoadXGBoostModel(const char *filename)
load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree en...
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 > LoadXGBoostJSONModel(const char *filename)
load a model file generated by XGBoost (dmlc/xgboost). The model file must contain a decision tree en...
Operator
comparison operators