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