ai.onnx.ml - TreeEnsembleClassifier

TreeEnsembleClassifier - 3 (ai.onnx.ml)

Version

This version of the operator has been available since version 3 of domain ai.onnx.ml.

Summary

Tree Ensemble classifier. Returns the top class for each of N inputs.

The attributes named ‘nodes_X’ form a sequence of tuples, associated by index into the sequences, which must all be of equal length. These tuples define the nodes.

Similarly, all fields prefixed with ‘class_’ are tuples of votes at the leaves. A leaf may have multiple votes, where each vote is weighted by the associated class_weights index.

One and only one of classlabels_strings or classlabels_int64s will be defined. The class_ids are indices into this list. All fields ending with <i>_as_tensor</i> can be used instead of the same parameter without the suffix if the element type is double and not float.

Attributes

  • base_values: Base values for classification, added to final class score; the size must be the same as the classes or can be left unassigned (assumed 0)

  • base_values_as_tensor: Base values for classification, added to final class score; the size must be the same as the classes or can be left unassigned (assumed 0)

  • class_ids: The index of the class list that each weight is for.

  • class_nodeids: node id that this weight is for.

  • class_treeids: The id of the tree that this node is in.

  • class_weights: The weight for the class in class_id.

  • class_weights_as_tensor: The weight for the class in class_id.

  • classlabels_int64s: Class labels if using integer labels.<br>One and only one of the ‘classlabels_*’ attributes must be defined.

  • classlabels_strings: Class labels if using string labels.<br>One and only one of the ‘classlabels_*’ attributes must be defined.

  • nodes_falsenodeids: Child node if expression is false.

  • nodes_featureids: Feature id for each node.

  • nodes_hitrates: Popularity of each node, used for performance and may be omitted.

  • nodes_hitrates_as_tensor: Popularity of each node, used for performance and may be omitted.

  • nodes_missing_value_tracks_true: For each node, define what to do in the presence of a missing value: if a value is missing (NaN), use the ‘true’ or ‘false’ branch based on the value in this array.<br>This attribute may be left undefined, and the defalt value is false (0) for all nodes.

  • nodes_modes: The node kind, that is, the comparison to make at the node. There is no comparison to make at a leaf node.<br>One of ‘BRANCH_LEQ’, ‘BRANCH_LT’, ‘BRANCH_GTE’, ‘BRANCH_GT’, ‘BRANCH_EQ’, ‘BRANCH_NEQ’, ‘LEAF’

  • nodes_nodeids: Node id for each node. Ids may restart at zero for each tree, but it not required to.

  • nodes_treeids: Tree id for each node.

  • nodes_truenodeids: Child node if expression is true.

  • nodes_values: Thresholds to do the splitting on for each node.

  • nodes_values_as_tensor: Thresholds to do the splitting on for each node.

  • post_transform: Indicates the transform to apply to the score. <br> One of ‘NONE,’ ‘SOFTMAX,’ ‘LOGISTIC,’ ‘SOFTMAX_ZERO,’ or ‘PROBIT.’

Inputs

  • X (heterogeneous) - T1: Input of shape [N,F]

Outputs

  • Y (heterogeneous) - T2: N, Top class for each point

  • Z (heterogeneous) - tensor(float): The class score for each class, for each point, a tensor of shape [N,E].

Type Constraints

  • T1 in ( tensor(double), tensor(float), tensor(int32), tensor(int64) ): The input type must be a tensor of a numeric type.

  • T2 in ( tensor(int64), tensor(string) ): The output type will be a tensor of strings or integers, depending on which of the classlabels_* attributes is used.

Examples

TreeEnsembleClassifier - 1 (ai.onnx.ml)

Version

This version of the operator has been available since version 1 of domain ai.onnx.ml.

Summary

Tree Ensemble classifier. Returns the top class for each of N inputs.

The attributes named ‘nodes_X’ form a sequence of tuples, associated by index into the sequences, which must all be of equal length. These tuples define the nodes.

Similarly, all fields prefixed with ‘class_’ are tuples of votes at the leaves. A leaf may have multiple votes, where each vote is weighted by the associated class_weights index.

One and only one of classlabels_strings or classlabels_int64s will be defined. The class_ids are indices into this list.

Attributes

  • base_values: Base values for classification, added to final class score; the size must be the same as the classes or can be left unassigned (assumed 0)

  • class_ids: The index of the class list that each weight is for.

  • class_nodeids: node id that this weight is for.

  • class_treeids: The id of the tree that this node is in.

  • class_weights: The weight for the class in class_id.

  • classlabels_int64s: Class labels if using integer labels.<br>One and only one of the ‘classlabels_*’ attributes must be defined.

  • classlabels_strings: Class labels if using string labels.<br>One and only one of the ‘classlabels_*’ attributes must be defined.

  • nodes_falsenodeids: Child node if expression is false.

  • nodes_featureids: Feature id for each node.

  • nodes_hitrates: Popularity of each node, used for performance and may be omitted.

  • nodes_missing_value_tracks_true: For each node, define what to do in the presence of a missing value: if a value is missing (NaN), use the ‘true’ or ‘false’ branch based on the value in this array.<br>This attribute may be left undefined, and the defalt value is false (0) for all nodes.

  • nodes_modes: The node kind, that is, the comparison to make at the node. There is no comparison to make at a leaf node.<br>One of ‘BRANCH_LEQ’, ‘BRANCH_LT’, ‘BRANCH_GTE’, ‘BRANCH_GT’, ‘BRANCH_EQ’, ‘BRANCH_NEQ’, ‘LEAF’

  • nodes_nodeids: Node id for each node. Ids may restart at zero for each tree, but it not required to.

  • nodes_treeids: Tree id for each node.

  • nodes_truenodeids: Child node if expression is true.

  • nodes_values: Thresholds to do the splitting on for each node.

  • post_transform: Indicates the transform to apply to the score. <br> One of ‘NONE,’ ‘SOFTMAX,’ ‘LOGISTIC,’ ‘SOFTMAX_ZERO,’ or ‘PROBIT.’

Inputs

  • X (heterogeneous) - T1: Input of shape [N,F]

Outputs

  • Y (heterogeneous) - T2: N, Top class for each point

  • Z (heterogeneous) - tensor(float): The class score for each class, for each point, a tensor of shape [N,E].

Type Constraints

  • T1 in ( tensor(double), tensor(float), tensor(int32), tensor(int64) ): The input type must be a tensor of a numeric type.

  • T2 in ( tensor(int64), tensor(string) ): The output type will be a tensor of strings or integers, depending on which of the classlabels_* attributes is used.