treelite
|
Functions | |
int | TreeliteCreateTreeBuilder (TreeBuilderHandle *out) |
Create a new tree builder. More... | |
int | TreeliteDeleteTreeBuilder (TreeBuilderHandle handle) |
Delete a tree builder from memory. More... | |
int | TreeliteTreeBuilderCreateNode (TreeBuilderHandle handle, int node_key) |
Create an empty node within a tree. More... | |
int | TreeliteTreeBuilderDeleteNode (TreeBuilderHandle handle, int node_key) |
Remove a node from a tree. More... | |
int | TreeliteTreeBuilderSetRootNode (TreeBuilderHandle handle, int node_key) |
Set a node as the root of a tree. More... | |
int | TreeliteTreeBuilderSetNumericalTestNode (TreeBuilderHandle handle, int node_key, unsigned feature_id, const char *opname, double threshold, int default_left, int left_child_key, int right_child_key) |
Turn an empty node into a test node with numerical split. The test is in the form [feature value] OP [threshold]. Depending on the result of the test, either left or right child would be taken. More... | |
int | TreeliteTreeBuilderSetCategoricalTestNode (TreeBuilderHandle handle, int node_key, unsigned feature_id, const unsigned int *left_categories, size_t left_categories_len, int default_left, int left_child_key, int right_child_key) |
Turn an empty node into a test node with categorical split. A list defines all categories that would be classified as the left side. Categories are integers ranging from 0 to (n-1), where n is the number of categories in that particular feature. Let's assume n <= 64. More... | |
int | TreeliteTreeBuilderSetLeafNode (TreeBuilderHandle handle, int node_key, double leaf_value) |
Turn an empty node into a leaf node. More... | |
int | TreeliteTreeBuilderSetLeafVectorNode (TreeBuilderHandle handle, int node_key, const double *leaf_vector, size_t leaf_vector_len) |
Turn an empty node into a leaf vector node The leaf vector (collection of multiple leaf weights per leaf node) is useful for multi-class random forest classifier. More... | |
int | TreeliteCreateModelBuilder (int num_feature, int num_output_group, int random_forest_flag, ModelBuilderHandle *out) |
Create a new model builder. More... | |
int | TreeliteModelBuilderSetModelParam (ModelBuilderHandle handle, const char *name, const char *value) |
Set a model parameter. More... | |
int | TreeliteDeleteModelBuilder (ModelBuilderHandle handle) |
Delete a model builder from memory. More... | |
int | TreeliteModelBuilderInsertTree (ModelBuilderHandle handle, TreeBuilderHandle tree_builder, int index) |
Insert a tree at specified location. More... | |
int | TreeliteModelBuilderGetTree (ModelBuilderHandle handle, int index, TreeBuilderHandle *out) |
Get a reference to a tree in the ensemble. More... | |
int | TreeliteModelBuilderDeleteTree (ModelBuilderHandle handle, int index) |
Remove a tree from the ensemble. More... | |
int | TreeliteModelBuilderCommitModel (ModelBuilderHandle handle, ModelHandle *out) |
finalize the model and produce the in-memory representation More... | |
Model builder interface: build trees incrementally
int TreeliteCreateModelBuilder | ( | int | num_feature, |
int | num_output_group, | ||
int | random_forest_flag, | ||
ModelBuilderHandle * | out | ||
) |
Create a new model builder.
num_feature | number of features used in model being built. We assume that all feature indices are between 0 and (num_feature - 1). |
num_output_group | number of output groups. Set to 1 for binary classification and regression; >1 for multiclass classification |
random_forest_flag | whether the model is a random forest. Set to 0 if the model is gradient boosted trees. Any nonzero value shall indicate that the model is a random forest. |
out | newly created model builder |
int TreeliteCreateTreeBuilder | ( | TreeBuilderHandle * | out | ) |
int TreeliteDeleteModelBuilder | ( | ModelBuilderHandle | handle | ) |
int TreeliteDeleteTreeBuilder | ( | TreeBuilderHandle | handle | ) |
int TreeliteModelBuilderCommitModel | ( | ModelBuilderHandle | handle, |
ModelHandle * | out | ||
) |
int TreeliteModelBuilderDeleteTree | ( | ModelBuilderHandle | handle, |
int | index | ||
) |
int TreeliteModelBuilderGetTree | ( | ModelBuilderHandle | handle, |
int | index, | ||
TreeBuilderHandle * | out | ||
) |
int TreeliteModelBuilderInsertTree | ( | ModelBuilderHandle | handle, |
TreeBuilderHandle | tree_builder, | ||
int | index | ||
) |
Insert a tree at specified location.
handle | model builder |
tree_builder | builder for the tree to be inserted. The tree must not be part of any other existing tree ensemble. Note: The tree_builder argument will become unusuable after the tree insertion. Should you want to modify the tree afterwards, use GetTree(*) method to get a fresh handle to the tree. |
index | index of the element before which to insert the tree; use -1 to insert at the end |
int TreeliteModelBuilderSetModelParam | ( | ModelBuilderHandle | handle, |
const char * | name, | ||
const char * | value | ||
) |
int TreeliteTreeBuilderCreateNode | ( | TreeBuilderHandle | handle, |
int | node_key | ||
) |
int TreeliteTreeBuilderDeleteNode | ( | TreeBuilderHandle | handle, |
int | node_key | ||
) |
int TreeliteTreeBuilderSetCategoricalTestNode | ( | TreeBuilderHandle | handle, |
int | node_key, | ||
unsigned | feature_id, | ||
const unsigned int * | left_categories, | ||
size_t | left_categories_len, | ||
int | default_left, | ||
int | left_child_key, | ||
int | right_child_key | ||
) |
Turn an empty node into a test node with categorical split. A list defines all categories that would be classified as the left side. Categories are integers ranging from 0 to (n-1), where n is the number of categories in that particular feature. Let's assume n <= 64.
handle | tree builder |
node_key | unique integer key to identify the node being modified; this node needs to be empty |
feature_id | id of feature |
left_categories | list of categories belonging to the left child |
left_categories_len | length of left_cateogries |
default_left | default direction for missing values |
left_child_key | unique integer key to identify the left child node |
right_child_key | unique integer key to identify the right child node |
int TreeliteTreeBuilderSetLeafNode | ( | TreeBuilderHandle | handle, |
int | node_key, | ||
double | leaf_value | ||
) |
int TreeliteTreeBuilderSetLeafVectorNode | ( | TreeBuilderHandle | handle, |
int | node_key, | ||
const double * | leaf_vector, | ||
size_t | leaf_vector_len | ||
) |
Turn an empty node into a leaf vector node The leaf vector (collection of multiple leaf weights per leaf node) is useful for multi-class random forest classifier.
handle | tree builder |
node_key | unique integer key to identify the node being modified; this node needs to be empty |
leaf_vector | leaf vector of the leaf node |
leaf_vector_len | length of leaf_vector |
int TreeliteTreeBuilderSetNumericalTestNode | ( | TreeBuilderHandle | handle, |
int | node_key, | ||
unsigned | feature_id, | ||
const char * | opname, | ||
double | threshold, | ||
int | default_left, | ||
int | left_child_key, | ||
int | right_child_key | ||
) |
Turn an empty node into a test node with numerical split. The test is in the form [feature value] OP [threshold]. Depending on the result of the test, either left or right child would be taken.
handle | tree builder |
node_key | unique integer key to identify the node being modified; this node needs to be empty |
feature_id | id of feature |
opname | binary operator to use in the test |
threshold | threshold value |
default_left | default direction for missing values |
left_child_key | unique integer key to identify the left child node |
right_child_key | unique integer key to identify the right child node |
int TreeliteTreeBuilderSetRootNode | ( | TreeBuilderHandle | handle, |
int | node_key | ||
) |