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


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


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


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


 12   All fields ending with _as_tensor can be used instead of the 
 13   same parameter without the suffix if the element type is double and not float. 
12  14  All trees must have their node ids start at 0 and increment by 1.  All trees must have their node ids start at 0 and increment by 1. 
13  15 


14  16  Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF  Mode enum is BRANCH_LEQ, BRANCH_LT, BRANCH_GTE, BRANCH_GT, BRANCH_EQ, BRANCH_NEQ, LEAF 
15  17 


16  18  **Attributes**  **Attributes** 
17  19 


18  20  * **aggregate_function**:  * **aggregate_function**: 
19  21  Defines how to aggregate leaf values within a target. One of  Defines how to aggregate leaf values within a target. One of 
20  22  'AVERAGE,' 'SUM,' 'MIN,' 'MAX.' Default value is 'SUM'.  'AVERAGE,' 'SUM,' 'MIN,' 'MAX.' Default value is 'SUM'. 
21  23  * **base_values**:  * **base_values**: 
22  24  Base values for classification, added to final class score; the size  Base values for classification, added to final class score; the size 
23  25  must be the same as the classes or can be left unassigned (assumed  must be the same as the classes or can be left unassigned (assumed 
24  26  0)  0) 
 27   * **base_values_as_tensor**: 
 28   Base values for classification, added to final class score; the size 
 29   must be the same as the classes or can be left unassigned (assumed 
 30   0) 
25  31  * **n_targets**:  * **n_targets**: 
26  32  The total number of targets.  The total number of targets. 
27  33  * **nodes_falsenodeids**:  * **nodes_falsenodeids**: 
28  34  Child node if expression is false  Child node if expression is false 
29  35  * **nodes_featureids**:  * **nodes_featureids**: 
30  36  Feature id for each node.  Feature id for each node. 
31  37  * **nodes_hitrates**:  * **nodes_hitrates**: 
32  38  Popularity of each node, used for performance and may be omitted.  Popularity of each node, used for performance and may be omitted. 
 39   * **nodes_hitrates_as_tensor**: 
 40   Popularity of each node, used for performance and may be omitted. 
33  41  * **nodes_missing_value_tracks_true**:  * **nodes_missing_value_tracks_true**: 
34  42  For each node, define what to do in the presence of a NaN: use the  For each node, define what to do in the presence of a NaN: use the 
35  43  'true' (if the attribute value is 1) or 'false' (if the attribute  'true' (if the attribute value is 1) or 'false' (if the attribute 
36  44  value is 0) branch based on the value in this array. This  value is 0) branch based on the value in this array. This 
37  45  attribute may be left undefined and the defalt value is false (0)  attribute may be left undefined and the defalt value is false (0) 
38  46  for all nodes.  for all nodes. 
39  47  * **nodes_modes**:  * **nodes_modes**: 
40  48  The node kind, that is, the comparison to make at the node. There is  The node kind, that is, the comparison to make at the node. There is 
41  49  no comparison to make at a leaf node. One of 'BRANCH_LEQ',  no comparison to make at a leaf node. One of 'BRANCH_LEQ', 
42  50  'BRANCH_LT', 'BRANCH_GTE', 'BRANCH_GT', 'BRANCH_EQ', 'BRANCH_NEQ',  'BRANCH_LT', 'BRANCH_GTE', 'BRANCH_GT', 'BRANCH_EQ', 'BRANCH_NEQ', 
43  51  'LEAF'  'LEAF' 
44  52  * **nodes_nodeids**:  * **nodes_nodeids**: 
45  53  Node id for each node. Node ids must restart at zero for each tree  Node id for each node. Node ids must restart at zero for each tree 
46  54  and increase sequentially.  and increase sequentially. 
47  55  * **nodes_treeids**:  * **nodes_treeids**: 
48  56  Tree id for each node.  Tree id for each node. 
49  57  * **nodes_truenodeids**:  * **nodes_truenodeids**: 
50  58  Child node if expression is true  Child node if expression is true 
51  59  * **nodes_values**:  * **nodes_values**: 
52  60  Thresholds to do the splitting on for each node.  Thresholds to do the splitting on for each node. 
 61   * **nodes_values_as_tensor**: 
 62   Thresholds to do the splitting on for each node. 
53  63  * **post_transform**:  * **post_transform**: 
54  64  Indicates the transform to apply to the score. One of 'NONE,'  Indicates the transform to apply to the score. One of 'NONE,' 
55  65  'SOFTMAX,' 'LOGISTIC,' 'SOFTMAX_ZERO,' or 'PROBIT' Default value is 'NONE'.  'SOFTMAX,' 'LOGISTIC,' 'SOFTMAX_ZERO,' or 'PROBIT' Default value is 'NONE'. 
56  66  * **target_ids**:  * **target_ids**: 
57  67  The index of the target that each weight is for  The index of the target that each weight is for 
58  68  * **target_nodeids**:  * **target_nodeids**: 
59  69  The node id of each weight  The node id of each weight 
60  70  * **target_treeids**:  * **target_treeids**: 
61  71  The id of the tree that each node is in.  The id of the tree that each node is in. 
62  72  * **target_weights**:  * **target_weights**: 
63  73  The weight for each target  The weight for each target 
 74   * **target_weights_as_tensor**: 
 75   The weight for each target 
64  76 


65  77  **Inputs**  **Inputs** 
66  78 


67  79  * **X** (heterogeneous)  **T**:  * **X** (heterogeneous)  **T**: 
68  80  Input of shape [N,F]  Input of shape [N,F] 
69  81 


70  82  **Outputs**  **Outputs** 
71  83 


72  84  * **Y** (heterogeneous)  **tensor(float)**:  * **Y** (heterogeneous)  **tensor(float)**: 
73  85  N classes  N classes 
74  86 


75  87  **Type Constraints**  **Type Constraints** 
76  88 


77  89  * **T** in (  * **T** in ( 
78  90  tensor(double),  tensor(double), 
79  91  tensor(float),  tensor(float), 
80  92  tensor(int32),  tensor(int32), 
81  93  tensor(int64)  tensor(int64) 
82  94  ):  ): 
83  95  The input type must be a tensor of a numeric type.  The input type must be a tensor of a numeric type. 