7 #ifndef TREELITE_FRONTEND_H_ 8 #define TREELITE_FRONTEND_H_ 10 #include <dmlc/logging.h> 46 std::unique_ptr<treelite::Model>
LoadXGBoostModel(
const void* buf,
size_t len);
86 int n_estimators,
int n_features,
const int64_t* node_count,
const int64_t** children_left,
87 const int64_t** children_right,
const int64_t** feature,
const double** threshold,
88 const double** value,
const int64_t** n_node_samples,
const double** impurity);
115 int n_estimators,
int n_features,
int n_classes,
const int64_t* node_count,
116 const int64_t** children_left,
const int64_t** children_right,
const int64_t** feature,
117 const double** threshold,
const double** value,
const int64_t** n_node_samples,
118 const double** impurity);
143 int n_estimators,
int n_features,
const int64_t* node_count,
const int64_t** children_left,
144 const int64_t** children_right,
const int64_t** feature,
const double** threshold,
145 const double** value,
const int64_t** n_node_samples,
const double** impurity);
171 int n_estimators,
int n_features,
int n_classes,
const int64_t* node_count,
172 const int64_t** children_left,
const int64_t** children_right,
const int64_t** feature,
173 const double** threshold,
const double** value,
const int64_t** n_node_samples,
174 const double** impurity);
181 struct TreeBuilderImpl;
182 struct ModelBuilderImpl;
187 std::shared_ptr<void> handle_;
196 template <
typename T>
197 static Value Create(T init_value);
199 template <
typename T>
201 template <
typename T>
202 const T& Get()
const;
203 template <
typename Func>
204 inline auto Dispatch(Func func);
205 template <
typename Func>
206 inline auto Dispatch(Func func)
const;
231 void CreateNode(
int node_key);
236 void DeleteNode(
int node_key);
241 void SetRootNode(
int node_key);
255 void SetNumericalTestNode(
int node_key,
unsigned feature_id,
const char* op,
Value threshold,
256 bool default_left,
int left_child_key,
int right_child_key);
257 void SetNumericalTestNode(
int node_key,
unsigned feature_id,
Operator op,
Value threshold,
258 bool default_left,
int left_child_key,
int right_child_key);
272 void SetCategoricalTestNode(
int node_key,
unsigned feature_id,
273 const std::vector<uint32_t>& left_categories,
bool default_left,
274 int left_child_key,
int right_child_key);
281 void SetLeafNode(
int node_key,
Value leaf_value);
290 void SetLeafVectorNode(
int node_key,
const std::vector<Value>& leaf_vector);
293 std::unique_ptr<TreeBuilderImpl> pimpl_;
317 ModelBuilder(
int num_feature,
int num_class,
bool average_tree_output,
325 void SetModelParam(
const char* name,
const char* value);
338 int InsertTree(
TreeBuilder* tree_builder,
int index = -1);
350 void DeleteTree(
int index);
355 std::unique_ptr<Model> CommitModel();
358 std::unique_ptr<ModelBuilderImpl> pimpl_;
366 #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