ai.onnx.ml - TreeEnsembleRegressor#

TreeEnsembleRegressor - 3 (ai.onnx.ml)#

Version

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

Summary

Tree Ensemble regressor. Returns the regressed values for each input in N.

All args with nodes_ are fields of a tuple of tree nodes, and it is assumed they are the same length, and an index i will decode the tuple across these inputs. Each node id can appear only once for each tree id.

All fields prefixed with target_ are tuples of votes at the leaves.

A leaf may have multiple votes, where each vote is weighted by the associated target_weights index.

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. All trees must have their node ids start at 0 and increment by 1.

Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF

Attributes

  • aggregate_function: Defines how to aggregate leaf values within a target. <br>One of ‘AVERAGE,’ ‘SUM,’ ‘MIN,’ ‘MAX.’

  • 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)

  • n_targets: The total number of targets.

  • 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 NaN: use the ‘true’ (if the attribute value is 1) or ‘false’ (if the attribute value is 0) 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. Node ids must restart at zero for each tree and increase sequentially.

  • 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’

  • target_ids: The index of the target that each weight is for

  • target_nodeids: The node id of each weight

  • target_treeids: The id of the tree that each node is in.

  • target_weights: The weight for each target

  • target_weights_as_tensor: The weight for each target

Inputs

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

Outputs

  • Y (heterogeneous) - tensor(float): N classes

Type Constraints

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

Examples

TreeEnsembleRegressor - 1 (ai.onnx.ml)#

Version

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

Summary

Tree Ensemble regressor. Returns the regressed values for each input in N.

All args with nodes_ are fields of a tuple of tree nodes, and it is assumed they are the same length, and an index i will decode the tuple across these inputs. Each node id can appear only once for each tree id.

All fields prefixed with target_ are tuples of votes at the leaves.

A leaf may have multiple votes, where each vote is weighted by the associated target_weights index.

All trees must have their node ids start at 0 and increment by 1.

Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF

Attributes

  • aggregate_function: Defines how to aggregate leaf values within a target. <br>One of ‘AVERAGE,’ ‘SUM,’ ‘MIN,’ ‘MAX.’

  • 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)

  • n_targets: The total number of targets.

  • 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 NaN: use the ‘true’ (if the attribute value is 1) or ‘false’ (if the attribute value is 0) 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. Node ids must restart at zero for each tree and increase sequentially.

  • 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’

  • target_ids: The index of the target that each weight is for

  • target_nodeids: The node id of each weight

  • target_treeids: The id of the tree that each node is in.

  • target_weights: The weight for each target

Inputs

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

Outputs

  • Y (heterogeneous) - tensor(float): N classes

Type Constraints

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