Identifies specimens using a tree.

### Options

`TREE` = tree |
Specifies the tree |
---|---|

`TESTELEMENT` = scalar |
Specifies which element of the pointer of information stored at each node of the tree contains the test to be done there to determine which subsequent branch to take |

`TERMINALNODES` = scalar, variate or pointer |
Scalar or variate saving the number or numbers of the terminal nodes reached by a single specimen, or pointer of scalars or variates saving the numbers of the terminal nodes reached by several specimens |

### Parameters

`X` = factors or variates |
Variables involved in the tests performed in the tree |
---|---|

`VALUES` = scalars, variates or texts |
Values of the variables for the specimens to be identified |

### Description

`BIDENTIFY`

identifies specimens using a classification tree, or a regression tree, or an identification key (as constructed by procedures `BCLASSIFICATION`

, `BREGRESSION`

or `BKEY`

, respectively).

The characteristics of the specimens are specified using the `X`

and `VALUES`

parameters. Each `X`

setting should be one of the factors or variates in the tree, and the corresponding `VALUES`

setting should be a scalar, variate or text defining its values for the specimens. If `X`

is a variate, `VALUES`

may be a scalar if all the specimens have the same x-value (or if there is only one specimen); it will be a variate if there are several specimens with different x-values. `VALUES`

can be also be a scalar or variate if `X`

is a factor. Alternatively, `VALUES`

may be a text (with one or several values) if the factor `X`

has labels.

The tree is supplied by the `TREE`

option. The `TESTELEMENT`

option indicates which element of the pointer of information, stored at each node of the tree, contains the test to be done there. For trees constructed by procedures `BCLASSIFICATION`

, `BREGRESSION`

or `BKEY`

the test element is the second element of the pointers. In trees constructed by `BKEY`

the test is a factor whose (ordinal) level number defines the branch to take from the node. Alternatively, the tests in trees constructed by `BCLASSIFICATION`

and `BREGRESSION`

are simple logical expressions like

`X < 1`

or

`X .IN. !t(red,blue)`

where a “true” result selects the first branch, and a “false” result selects the second. `BIDENTIFY`

allows for expressions containing a single relational operator from the following list:

equality `.EQ.`

or `==`

string equality `.EQS.`

non-equality `.NE.`

or `/=`

or

string non-equality `.NES.`

less than `.LT.`

or `<`

less than or equals `.LE.`

or `<=`

greater than `.GT.`

or `>`

greater than or equals `.GE.`

or `>=`

inclusion `.IN.`

non-inclusion `.NI.`

If the factor or variate in the test is not in the list supplied by the `X`

parameter, all the branches from the node must be followed, and the specimen will reach several terminal nodes. All the branches must also be taken if the specimen has a missing value for the `X`

variable in the test.

The `TERMINALNODES`

option saves the numbers of the terminal nodes that the specimens reach in the tree. If there is a single specimen, `TERMINALNODES`

will be a scalar or a variate. If there are several specimens, it will be a pointer of scalars or variates.

Options: `TREE`

, `TESTELEMENT`

, `TERMINALNODES`

.

Parameters: `X`

, `VALUES`

.

### Action with `RESTRICT`

Any restrictions are ignored.

### See also

Directives: `BASSESS`

, `BCUT`

, `BGROW`

, `BJOIN`

, `TREE`

.

Procedures: `BCONSTRUCT`

, `BCLASSIFICATION`

, `BGRAPH`

, `BKEY`

, `BPRINT`

, `BPRUNE`

.

Commands for: Calculations and manipulation.