TreeEnsembleClassifier - 1 vs 3¶
Next section compares an older to a newer version of the same operator after both definition are converted into markdown text. Green means an addition to the newer version, red means a deletion. Anything else is unchanged.
TreeEnsembleClassifier1 → TreeEnsembleClassifier3
RENAMED
@@ -1 +1 @@
|
|
1
|
-
Tree Ensemble classifier.
|
1
|
+
Tree Ensemble classifier. Returns the top class for each of N inputs.<br>
|
2
2
|
The attributes named 'nodes_X' form a sequence of tuples, associated by
|
3
3
|
index into the sequences, which must all be of equal length. These tuples
|
4
4
|
define the nodes.<br>
|
5
5
|
Similarly, all fields prefixed with 'class_' are tuples of votes at the leaves.
|
6
6
|
A leaf may have multiple votes, where each vote is weighted by
|
7
7
|
the associated class_weights index.<br>
|
8
8
|
One and only one of classlabels_strings or classlabels_int64s
|
9
9
|
will be defined. The class_ids are indices into this list.
|
10
|
+
All fields ending with <i>_as_tensor</i> can be used instead of the
|
11
|
+
same parameter without the suffix if the element type is double and not float.
|
10
12
|
### Attributes
|
11
13
|
* **base_values - FLOATS** :
|
14
|
+
|
15
|
+
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)
|
16
|
+
|
17
|
+
* **base_values_as_tensor - TENSOR** :
|
12
18
|
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)
|
13
19
|
* **class_ids - INTS** :
|
14
20
|
The index of the class list that each weight is for.
|
15
21
|
* **class_nodeids - INTS** :
|
16
22
|
node id that this weight is for.
|
17
23
|
* **class_treeids - INTS** :
|
18
24
|
The id of the tree that this node is in.
|
19
25
|
* **class_weights - FLOATS** :
|
26
|
+
|
27
|
+
The weight for the class in class_id.
|
28
|
+
|
29
|
+
* **class_weights_as_tensor - TENSOR** :
|
20
30
|
The weight for the class in class_id.
|
21
31
|
* **classlabels_int64s - INTS** :
|
22
32
|
Class labels if using integer labels.<br>One and only one of the 'classlabels_*' attributes must be defined.
|
23
33
|
* **classlabels_strings - STRINGS** :
|
24
34
|
Class labels if using string labels.<br>One and only one of the 'classlabels_*' attributes must be defined.
|
25
35
|
* **nodes_falsenodeids - INTS** :
|
26
36
|
Child node if expression is false.
|
27
37
|
* **nodes_featureids - INTS** :
|
28
38
|
Feature id for each node.
|
29
39
|
* **nodes_hitrates - FLOATS** :
|
40
|
+
|
41
|
+
Popularity of each node, used for performance and may be omitted.
|
42
|
+
|
43
|
+
* **nodes_hitrates_as_tensor - TENSOR** :
|
30
44
|
Popularity of each node, used for performance and may be omitted.
|
31
45
|
* **nodes_missing_value_tracks_true - INTS** :
|
32
46
|
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 default value is false (0) for all nodes.
|
33
47
|
* **nodes_modes - STRINGS** :
|
34
48
|
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'
|
35
49
|
* **nodes_nodeids - INTS** :
|
36
50
|
Node id for each node. Ids may restart at zero for each tree, but it not required to.
|
37
51
|
* **nodes_treeids - INTS** :
|
38
52
|
Tree id for each node.
|
39
53
|
* **nodes_truenodeids - INTS** :
|
40
54
|
Child node if expression is true.
|
41
55
|
* **nodes_values - FLOATS** :
|
56
|
+
|
57
|
+
Thresholds to do the splitting on for each node.
|
58
|
+
|
59
|
+
* **nodes_values_as_tensor - TENSOR** :
|
42
60
|
Thresholds to do the splitting on for each node.
|
43
61
|
* **post_transform - STRING** (default is 'NONE'):
|
44
62
|
Indicates the transform to apply to the score. <br> One of 'NONE,' 'SOFTMAX,' 'LOGISTIC,' 'SOFTMAX_ZERO,' or 'PROBIT.'
|
45
63
|
### Inputs
|
46
64
|
- **X** (heterogeneous) - **T1**:
|
47
65
|
Input of shape [N,F]
|
48
66
|
### Outputs
|
49
67
|
- **Y** (heterogeneous) - **T2**:
|
50
68
|
N, Top class for each point
|
51
69
|
- **Z** (heterogeneous) - **tensor(float)**:
|
52
70
|
The class score for each class, for each point, a tensor of shape [N,E].
|
53
71
|
### Type Constraints
|
54
72
|
* **T1** in ( tensor(double), tensor(float), tensor(int32), tensor(int64) ):
|
55
73
|
The input type must be a tensor of a numeric type.
|
56
74
|
* **T2** in ( tensor(int64), tensor(string) ):
|
57
75
|
The output type will be a tensor of strings or integers, depending on which of the classlabels_* attributes is used.
|