The HPNEURAL Procedure
PROC HPNEURAL Statement
PROC HPNEURAL <DATA=SAS-data-set> <DISTR=ALL | SPLIT> <NOPRINT> ;
The PROC HPNEURAL statement invokes the procedure. You can specify the following options in the PROC HPNEURAL statement:
- DATA=SAS-data-set
names the SAS data set that contains the training and validation observations to be used by PROC HPNEURAL to train the neural network or that contains the observations to be scored when you are performing stand-alone scoring. The default input data set is the most recently created data set.
When you use PROC HPNEURAL to train a neural network, each observation must contain the input, weight, validation, ID, and target variables that are specified in the associated INPUT, WEIGHT, PARTITION, ID, and TARGET statements.
When you use PROC HPNEURAL to perform stand-alone scoring, the input data set must contain the input variables that were specified when the network was trained (as saved in the model data set) and optionally the target variables that were specified when the network was trained. In addition, if you applied formats to variables when training, the same formats must be applied when you do stand-alone scoring. Only the target variables (if they exist) and the network’s predictions are written to the output data set, which is specified in the SCORE statement.
For nominal variables of character type, levels are truncated to 32 bytes and converted to upper case. Also, when you train a network, if all observations that have a specific level for a nominal variable contain missing values in other input, target, weight, or validation variables, then that specific level is discarded and does not appear in the analysis.
If PROC HPNEURAL executes in distributed mode, the input data are distributed to memory on the appliance nodes and analyzed in parallel. For information about the alongside-the-database model, see the section Alongside-the-Database Execution.
When PROC HPNEURAL runs in single-machine mode, the input data set must fit into the available memory on the single machine. When PROC HPNEURAL runs in distributed mode, the input data set must fit into the total memory available across the distributed environment.
- DISTR=ALL | SPLIT
specifies whether the input data set is to be replicated in the memory of each node in distributed mode. If this option is not specified, PROC HPNEURAL makes this decision automatically based on the size of the input data set. This option is ignored if PROC HPNEURAL is not running in distributed mode.
When PROC HPNEURAL runs in distributed mode, PROC HPNEURAL usually divides the input data set among all the nodes to minimize the time it takes to optimize each try. However, if the input data set is small, dividing the data in this way might be inefficient because of the interconnect delay (the time it takes to send partial results between nodes). It might be more efficient to have each node have a complete copy of the data and run each try in parallel on separate nodes. Each try might take longer because it uses only a single node, but it could take less time to finish all the tries because the tries are running in parallel.
You can force the data to be redistributed so that each node has a complete in-memory copy by specifying DISTR=ALL. You can prevent the data from being redistributed by specifying DISTR=SPLIT.
- NOPRINT
specifies that no ODS tables be created.