TREESPLIT Procedure

AUTOTUNE Statement

  • AUTOTUNE <options>;

The AUTOTUNE statement searches for the best combination of values of the MAXDEPTH=, MINLEAFSIZE=, and NUMBIN= options in the PROC TREESPLIT statement and the criterion in the GROW statement. If you specify the AUTOTUNE statement, then you cannot also specify k-fold cross validation with cost-complexity pruning. You cannot specify both the AUTOTUNE statement and the CROSSVALIDATION statement in the same run of PROC TREESPLIT.

Table 2 summarizes the options that you can specify in the AUTOTUNE statement.

Table 2: AUTOTUNE Statement Options

Option Description
APPENDLOOKUP Specifies that the table specified in the HISTORYTABLE= option contain the rows from the table specified in the LOOKUPTABLE= option
CONSTRAINTS= Specifies the constraints on the output metrics
EVALHISTORY= Specifies how to report the evaluation history of the tuner
FOLDCOLUMN= Specifies the column in the data table in which the cross validation fold value is indicated
FRACTION= Specifies the fraction of observations to use for validation
HISTORYTABLE= Specifies the CAS table that contains the evaluation history
KFOLD= Specifies the number of folds for k-fold cross validation
LIVEUPDATE Specifies that the table specified in the HISTORYTABLE= option be updated at every evaluation
LOOKUPTABLE= Specifies the CAS table to use for evaluation lookup
MAXBAYES= Specifies the maximum number of points in the kriging model
MAXEVALS= Specifies the maximum number of evaluations
MAXITER= Specifies the maximum number of iterations when SEARCHMETHOD=GA or SEARCHMETHOD=BAYESIAN
MAXTIME= Specifies the maximum time for all iterations
MAXTRAINTIME= Specifies the maximum time for a model training
NCONVITER= Specifies the number of convergence iterations
NOGRIDSHUFFLE Requests that the grid points not be shuffled
NOLOCALSEARCH Disables local search optimization
NPARALLEL= Specifies the number of parallel sessions
NSUBSESSIONWORKERS= Specifies the number of workers in parallel sessions
OBJECTIVE= Specifies the objective function
POPSIZE= Specifies the population size when SEARCHMETHOD=GA or SEARCHMETHOD=BAYESIAN
SAMPLESIZE= Specifies the sample size when SEARCHMETHOD=LHS or SEARCHMETHOD=RANDOM
SEARCHMETHOD= Specifies the search method that the optimizer uses
SECONDOBJECTIVE= Specifies the second objective to use for tuning
SELECTINITPOINT Specifies that the tuner select the best evaluation from the lookup table
TARGETEVENT= Specifies the target event for ROC-based calculations
TRAINFRACTION= Specifies the fraction of observations to use for training
TUNINGPARAMETERS= Specifies the custom tuning parameters
USEPARAMETERS= Specifies how to handle the TUNINGPARAMETERS= option


APPENDLOOKUP

specifies that the rows from the table specified in the LOOKUPTABLE= option be appended to the output table that is created using the HISTORYTABLE= option.

This option is ignored if you do not specify both the HISTORYTABLE= and LOOKUPTABLE= options.

CONSTRAINTS=(suboption ||<suboption>)

specifies constraints on output metrics that the tuner will use during tuning.

You can specify one or more of the following suboptions:

ASE (LB=number UB=number)

specifies a constraint on the average square error to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the average square error.

UB=number

specifies the upper bound for the average square error.

F05 (LB=number UB=number)

specifies a constraint on the F0.5 coefficient to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the F0.5 coefficient.

UB=number

specifies the upper bound for the F0.5 coefficient.

F1 (LB=number UB=number)

specifies a constraint on the F1 coefficient to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the F1 coefficient.

UB=number

specifies the upper bound for the F1 coefficient.

FNR (LB=number UB=number)

specifies a constraint on the false negative rate to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the false negative rate.

UB=number

specifies the upper bound for the false negative rate.

FPR (LB=number UB=number)

specifies a constraint on the false positive rate to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the false positive rate.

UB=number

specifies the upper bound for the false positive rate.

GAMMA (LB=number UB=number)

specifies a constraint on the gamma coefficient to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the gamma coefficient.

UB=number

specifies the upper bound for the gamma coefficient.

GINI (LB=number UB=number)

specifies a constraint on the Gini coefficient to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the Gini coefficient.

UB=number

specifies the upper bound for the Gini coefficient.

KS (LB=number UB=number)

specifies a constraint on the Kolmogorov-Smirnov coefficient to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the Kolmogorov-Smirnov coefficient.

UB=number

specifies the upper bound for the Kolmogorov-Smirnov coefficient.

MAE (LB=number UB=number)

specifies a constraint on the mean absolute error to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the mean absolute error.

UB=number

specifies the upper bound for the mean absolute error.

MCE (LB=number UB=number)

specifies a constraint on the misclassification rate to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the misclassification rate.

UB=number

specifies the upper bound for the misclassification rate.

MCLL (LB=number UB=number)

specifies a constraint on the multiclass log loss to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the multiclass log loss.

UB=number

specifies the upper bound for the multiclass log loss.

MISC (LB=number UB=number)

specifies a constraint on the misclassification error percentage to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the misclassification error percentage.

UB=number

specifies the upper bound for the misclassification error percentage.

MSE (LB=number UB=number)

specifies a constraint on the mean square error to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the mean square error.

UB=number

specifies the upper bound for the mean square error.

MSLE (LB=number UB=number)

specifies a constraint on the mean square logarithmic error to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the mean square logarithmic error.

UB=number

specifies the upper bound for the mean square logarithmic error.

RASE (LB=number UB=number)

specifies a constraint on the root average square error to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the root average square error.

UB=number

specifies the upper bound for the root average square error.

RMAE (LB=number UB=number)

specifies a constraint on the root mean absolute error to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the root mean absolute error.

UB=number

specifies the upper bound for the root mean absolute error.

RMSLE (LB=number UB=number)

specifies a constraint on the root mean square logarithmic error to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the root mean square logarithmic error.

UB=number

specifies the upper bound for the root mean square logarithmic error.

SCORETIME (LB=number UB=number)
SCORINGTIME (LB=number UB=number)

specifies a constraint on the model scoring time to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the model scoring time.

UB=number

specifies the upper bound for the model scoring time.

TAU (LB=number UB=number)

specifies a constraint on the tau coefficient to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the tau coefficient.

UB=number

specifies the upper bound for the tau coefficient.

TNR (LB=number UB=number)

specifies a constraint on the true negative rate to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the true negative rate.

UB=number

specifies the upper bound for the true negative rate.

TPR (LB=number UB=number)

specifies a constraint on the true positive rate to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the true positive rate.

UB=number

specifies the upper bound for the true positive rate.

TRAINTIME (LB=number UB=number)
TRAININGTIME (LB=number UB=number)

specifies a constraint on the model training time to be used while tuning the model.

You must specify one or both of the following suboptions:

LB=number

specifies the lower bound for the model training time.

UB=number

specifies the upper bound for the model training time.

EVALHISTORY=ALL |LOG |NONE |TABLE

specifies how to report the evaluation history of the tuner.

You can specify one of the following values:

ALL

reports each evaluation in the log and creates the EvaluationHistory ODS table.

LOG

prints the following information to the log for each evaluation: evaluation number, objective value, best objective value up to that point, evaluation time, and elapsed time since the beginning of the tuning process.

NONE

suppresses reporting of evaluations in the log and does not create the EvaluationHistory ODS table.

TABLE

creates the EvaluationHistory ODS table, which contains all evaluated points. The table contains columns for the evaluation number, all tuning parameters, and the objective function value.

By default, EVALHISTORY=TABLE.

FOLDCOLUMN=string

specifies the name of the column in the data table in which the cross validation fold value is indicated for all observations. This column must contain integers between 1 and number, where number is the desired number of folds. This option has an effect similar to that of the KFOLD=number option. If you specify this option, the tuner uses the cross validation process to estimate the accuracy of the models. But instead of dividing the data into multiple folds (partitions), as the KFOLD=number option does, the tuner reads the fold numbers from the specified column in the data table and assigns each observation to the specified fold. In cross validation, each model evaluation requires number of training executions (on number–1 data folds) and number of scoring executions (on one holdout fold). Thus, the evaluation time is increased by approximately a factor of number. For small to medium data tables or for unbalanced data tables, cross validation typically provides a better representation of error across the entire data table (a better generalization error).

If you specify both this option and the KFOLD= option, the value of the KFOLD= option must match the number of folds in the fold column. If you omit this option, the KFOLD= option, and the FRACTION= option, then the default value of FRACTION=0.3 is used. If you specify a PARTITION statement, the validation partition defined in that statement is used, and the FOLDCOLUMN= option is ignored. You cannot specify the FOLDCOLUMN= option in combination with the FRACTION= option.

FRACTION=number

specifies the fraction of all data to use for validation, where number must be between 0.01 and 0.99, inclusive. If you specify this option, the tuner uses a single-partition validation for finding the objective value (validation error estimate). Using this option might not be advisable for small or unbalanced data tables, where the random assignment of the validation subset might not provide a good estimate of error. For large, balanced data tables, a single-partition validation is usually sufficient for estimating error; a single partition is more efficient than cross validation in terms of the total execution time.

If you specify a PARTITION statement, the validation partition defined in that statement is used, and this option is ignored. You cannot specify this option in combination with the KFOLD= option.

If you specify the TRAINFRACTION= option, then by default the value of the FRACTION= option is one minus the value of the TRAINFRACTION= option. Otherwise, by default, FRACTION=0.3.

HISTORYTABLE=libref.data-table <(data-set-options)>

specifies the data table created by the tuning process that contains the evaluation history. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table. For more information about this two-level name, see the section Using CAS Sessions and CAS Engine Librefs.

The data-set-options are various options that enable you to control how the data table is created. For more information about data set options, see SAS Data Set Options: Reference. In the case of the HISTORYTABLE= option, the default value of the REPLACE= data set option is NO. The REPLACE= option specifies whether a new SAS data set can overwrite an existing data set that has the same name. You can override the default value by specifying REPLACE=YES.

KFOLD=number

specifies the number of folds (partitions) in the cross validation process, where number must be between 2 and 20, inclusive. If you specify this option, the tuner uses cross validation to find the objective value. In cross validation, each model evaluation requires number of training executions (on number–1 data folds) and number of scoring executions (on one holdout fold). Thus, the evaluation time is increased by approximately a factor of number. For small to medium data tables or for unbalanced data tables, cross validation typically provides a better representation of error across the entire data table (a better generalization error).

Another option that triggers cross validation is the FOLDCOLUMN= option. If you specify both the KFOLD= option and the FOLDCOLUMN= option, the value of the KFOLD= option must match the number of folds in the fold column.

If you omit the KFOLD= option, the FOLDCOLUMN= option, and the FRACTION= option, then the default value of FRACTION=0.3 is used. If you specify a PARTITION statement, the validation partition defined in that statement is used, and the KFOLD= option is ignored. You cannot specify the KFOLD= option in combination with the FRACTION= option.

LIVEUPDATE

specifies that the table specified in the HISTORYTABLE= option be updated at every evaluation. This option forces the table to be a promoted CAS table so that it can be seen by other sessions.

This option is ignored if you do not specify the HISTORYTABLE= option.

LOOKUPTABLE=libref.data-table

specifies the data table previously created by the tuning process that you want to use as the lookup table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table. For more information about this two-level name, see the section Using CAS Sessions and CAS Engine Librefs.

MAXBAYES=number

specifies the maximum number of points in the Kriging model. This option is honored only when SEARCHMETHOD=BAYESIAN and when number has a minimum value of 10.

By default, MAXBAYES=100.

MAXEVALS=number

specifies the maximum number of configuration evaluations allowed for the tuner, where number must be an integer greater than or equal to 3. When the number of evaluations is reached, the tuner terminates the search and returns the results. To produce a single objective function value (validation error estimate), each configuration evaluation requires either a single model training and scoring execution on a validation partition, or a number of training and scoring executions equal to the value of the KFOLD= option for cross validation. The MAXEVALS= option might lead to termination before the value of the MAXITER= option or the MAXTIME= option is reached.

By default, MAXEVALS=50.

MAXITER=number

specifies the maximum number of iterations of the optimization tuner, where number must be greater than or equal to 1. Each iteration normally involves a number of objective evaluations up to the value of the POPSIZE= option. The MAXITER= option is used only when SEARCHMETHOD=GA or SEARCHMETHOD=BAYESIAN; it is ignored when SEARCHMETHOD=RANDOM or SEARCHMETHOD=LHS. The MAXITER= option might lead to termination before the value of the MAXEVALS= option or the MAXTIME= option is reached.

By default, MAXITER=5.

MAXTIME=number

specifies the maximum time (in seconds) allowed for the tuner, where number must be greater than or equal to 1. When this value is reached, the tuner terminates the search and returns results. The actual run time for optimization might be longer because it includes the remaining time needed to finish the current evaluation. For long-running model training (large data tables), the actual run time might significantly exceed number. The MAXTIME= option might lead to termination before the value of the MAXEVALS= option or the MAXITER= option is reached.

By default, MAXTIME=36000.

MAXTRAINTIME=number

specifies the maximum time allowed for a single model train. The model train is terminated if it exceeds this time, and the objective value is set to missing.

By default, there is no maximum time allowed for a single train.

NCONVITER=number

specifies the number of convergence iterations after which tuning is terminated.

By default, NCONVITER=4.

NOGRIDSHUFFLE

requests that the points that are generated by the grid search method not be shuffled before execution.

NOLOCALSEARCH

disables local search optimization for the tuning process.

By default, local search optimization is enabled.

NPARALLEL=number

specifies the number of evaluations to be performed in parallel, where number must be greater than or equal to 0.

By default, NPARALLEL=0, which indicates that the value of number is determined as follows:

  • If SEARCHMETHOD=GA or SEARCHMETHOD=BAYESIAN, then the number of parallel evaluations is equal to the value of the POPSIZE= option minus 1.

  • If SEARCHMETHOD=LHS or SEARCHMETHOD=RANDOM, then the number of parallel evaluations is equal to the value of the SAMPLESIZE= option, with a maximum value of 32.

NSUBSESSIONWORKERS=number

specifies the number of workers to use in parallel subsessions. When alternative configurations are evaluated in parallel, a number of subsessions are created by the tuner, and each subsession uses multiple workers. By default, the number of workers that are used in a parallel subsession is determined as described in the section Determining the Number of Parallel Evaluations.

OBJECTIVE=function

specifies which measure of model performance the tuner uses as the objective function.

You can specify one of the following values for function. Some values can be specified only when the target variable is of a particular type, as shown in parentheses.

ASE

specifies average square error as the objective function.

AUC

specifies area under the curve as the objective function (nominal type only).

F05

specifies the F0.5 coefficient as the objective function (nominal type only).

F1

specifies the F1 coefficient as the objective function (nominal type only).

FNR

specifies the false negative rate as the objective function (nominal type only).

FPR

specifies the false positive rate as the objective function (nominal type only).

GAMMA

specifies the gamma coefficient as the objective function (nominal type only).

GINI

specifies the Gini coefficient as the objective function (nominal type only).

KS

specifies the Kolmogorov-Smirnov coefficient as the objective function (nominal type only).

MAE

specifies the mean absolute error as the objective function (interval type only).

MCE

specifies the misclassification rate as the objective function (nominal type only).

MCLL

specifies the multiclass log loss as the objective function (nominal type only).

MISC

specifies the misclassification error percentage as the objective function (nominal type only).

MSE

specifies the mean square error as the objective function (interval type only).

MSLE

specifies the mean square logarithmic error as the objective function (interval type only).

RASE

specifies the root average square error as the objective function.

RMAE

specifies the root mean absolute error as the objective function (interval type only).

RMSLE

specifies the root mean square logarithmic error as the objective function (interval type only).

SCORETIME

specifies the model scoring time as the objective function.

TAU

specifies the tau coefficient as the objective function (nominal type only).

TNR

specifies the true negative rate as the objective function (nominal type only).

TPR

specifies the true positive rate as the objective function (nominal type only).

TRAINTIME

specifies the model training time as the objective function.

By default, OBJECTIVE=MISC for nominal targets, and OBJECTIVE=MSE for interval targets.

POPSIZE=number

specifies the maximum population size, where population is the number of configuration evaluations in one iteration (population). The number must be greater than or equal to 1. In some cases, the tuner algorithm might generate a number of new configurations that is smaller than number. The POPSIZE= option is used only when SEARCHMETHOD=GA or SEARCHMETHOD=BAYESIAN; it is ignored when SEARCHMETHOD=RANDOM or SEARCHMETHOD=LHS.

By default, POPSIZE=10.

SAMPLESIZE=number

specifies the total number of evaluations, where number must be greater than or equal to 1. This option is only used when SEARCHMETHOD=RANDOM or SEARCHMETHOD=LHS; it is ignored when SEARCHMETHOD=GA or SEARCHMETHOD=BAYESIAN.

By default, SAMPLESIZE=50.

SEARCHMETHOD=BAYESIAN |GA |GRID |LHS |RANDOM

specifies the search method to use for tuning. You can specify the following values:

BAYESIAN

builds a kriging surrogate model to approximate the objective value and uses this surrogate model to generate new alternative configurations at each iteration. The kriging model is continuously updated during the search process.

GA

uses an initial Latin hypercube sample that seeds a genetic algorithm to generate a new population of alternative configurations at each iteration.

GRID

uses all combinations of selected values of the hyperparameters.

LHS

uses a Latin hypercube to generate a single sample of configurations that is uniform in each tuning parameter but random in combinations.

RANDOM

generates a single sample of purely random configurations.

By default, SEARCHMETHOD=GA.

SECONDOBJECTIVE=function

specifies the type of the second objective to use for tuning.

You can specify one of the following values for function. Some values can be specified only when the target variable is of a particular type, as shown in parentheses.

NONE

does not use a second objective for tuning.

ASE

specifies average square error as the second objective.

AUC

specifies area under the curve as the second objective (nominal type only).

F05

specifies the F0.5 coefficient as the second objective (nominal type only).

F1

specifies the F1 coefficient as the second objective (nominal type only).

FNR

specifies the false negative rate as the second objective (nominal type only).

FPR

specifies the false positive rate as the second objective (nominal type only).

GAMMA

specifies the gamma coefficient as the second objective (nominal type only).

GINI

specifies the Gini coefficient as the second objective (nominal type only).

KS

specifies the Kolmogorov-Smirnov coefficient as the second objective (nominal type only).

MAE

specifies the mean absolute error as the second objective (interval type only).

MCE

specifies the misclassification rate as the second objective (nominal type only).

MCLL

specifies the multiclass log loss as the second objective (nominal type only).

MISC

specifies the misclassification error percentage as the second objective (nominal type only).

MSE

specifies the mean square error as the second objective (interval type only).

MSLE

specifies the mean square logarithmic error as the second objective (interval type only).

RASE

specifies the root average square error as the second objective.

RMAE

specifies the root mean absolute error as the second objective (interval type only).

RMSLE

specifies the root mean square logarithmic error as the second objective (interval type only).

SCORETIME

specifies the model scoring time as the second objective.

TAU

specifies the tau coefficient as the second objective (nominal type only).

TNR

specifies the true negative rate as the second objective (nominal type only).

TPR

specifies the true positive rate as the second objective (nominal type only).

TRAINTIME

specifies the model training time as the second objective.

By default, SECONDOBJECTIVE=NONE.

SELECTINITPOINT

specifies that the tuner select the best evaluation from the table specified in the LOOKUPTABLE= option as the initial point for the tuning process.

This option is ignored if you do not specify the LOOKUPTABLE= option.

TARGETEVENT=string

specifies the target event to use for calculating the selected objective function. This option is ignored when the value of the OBJECTIVE= option is not AUC, F1, F05, GINI, GAMMA, TAU, or KS.

If you omit the TARGETEVENT= option, the tuner selects one of the target levels and uses it to calculate the specified objective function.

TRAINFRACTION=number

specifies the fraction of all data to be used for training, where number must be between 0.01 and 0.99, inclusive. If you specify this option, the tuner uses a single-partition validation to find the objective value (validation error estimate). Using this option might not be advisable for small or unbalanced data tables, where the random assignment of the validation subset might not provide a good estimate of error. For large, balanced data tables, a single-partition validation is usually sufficient for estimating error; a single partition is more efficient than cross validation in terms of the total execution time.

If you specify a PARTITION statement, the validation partition defined in that statement is used, and this option is ignored. You cannot specify this option in combination with the KFOLD= option.

If you specify the FRACTION= option, then by default the value of the TRAINFRACTION= option is one minus the value of the FRACTION= option. Otherwise, by default, TRAINFRACTION=0.7.

TUNINGPARAMETERS=(suboption ||<suboption>)
TUNEPARMS=(suboption ||<suboption>)

specifies which parameters to tune and which ranges to tune over. If USEPARAMETERS=STANDARD, this option is ignored.

You can specify one or more of the following suboptions:

CRITERION (VALUES=value-list INIT=value EXCLUDE)

specifies information about the splitting criteria to use for tuning the decision tree. For more information about the criteria, see the GROW statement.

You can specify the following additional suboptions:

VALUES=value-list

specifies a list of splitting criteria to consider during tuning, where value-list is a space separated list that can include one or more of the following values: CHAID, CHISQUARE, FTEST, GAIN, GINI, and VARIANCE.

INIT=value

specifies the initial splitting criterion for the tuner to use. You can specify the following values: CHAID, CHISQUARE, FTEST, GAIN, GINI, IGR, RSS, or VARIANCE.

By default, INIT=IGR for nominal targets and INIT=VARIANCE for interval targets.

EXCLUDE

excludes the splitting criterion from the tuning process.

MAXDEPTH (LB=number UB=number VALUES=value-list INIT=number EXCLUDE)

specifies information about the maximum depth to grow the decision tree to use for tuning the decision tree. For more information, see the MAXDEPTH= option.

You can specify the following additional suboptions:

LB=number

specifies the minimum depth to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption.

By default, LB=1.

UB=number

specifies the maximum depth to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption.

By default, UB=19.

VALUES=value-list

specifies a list of depth values to consider during tuning, where value-list is a space-separated list of positive integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.

INIT=number

specifies the initial depth for the tuner to use.

By default, INIT=10.

EXCLUDE

excludes depth from the tuning process.

MINLEAFSIZE (LB=number UB=number VALUES=value-list INIT=number EXCLUDE)

specifies information about tuning the leaf size option for training the decision tree. This option is not tuned by default. If it is specified without any suboptions, then tuning uses the following values: 1, 5, 10, 20, 40, 80, 160, 320. For more information, see the MINLEAFSIZE= option in the PROC TREESPLIT statement.

You can specify the following additional suboptions:

LB=number

specifies the minimum leaf size value to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption.

By default, LB=1.

UB=number

specifies the maximum leaf size value to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption.

By default, UB=320.

VALUES=value-list

specifies a list of leaf size values to consider during tuning, where value-list is a space-separated list of positive integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.

INIT=number

specifies the initial leaf size for the tuner to use.

By default, INIT=5.

EXCLUDE

excludes the leaf size from the tuning process.

NUMBIN (LB=number UB=number VALUES=value-list INIT=number EXCLUDE)

specifies information about the number of bins in which to bin the interval inputs while tuning the decision tree. For more information, see the NUMBIN= option.

You can specify the following additional suboptions:

LB=number

specifies the minimum number of bins to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption.

By default, LB=20.

UB=number

specifies the maximum number of bins to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption.

By default, UB=200.

VALUES=value-list

specifies a list of numbers of bins to consider during tuning, where value-list is a space-separated list of positive integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.

INIT=number

specifies the initial number of bins for the tuner to use.

By default, INIT=20.

EXCLUDE

excludes the number of bins from the tuning process.

USEPARAMETERS=tuning-parameter-option

specifies which set of parameters to tune.

You can specify the following tuning-parameter-options:

STANDARD

tunes using the default bounds and initial values for all parameters.

CUSTOM

tunes only the parameters that are specified in the TUNINGPARAMETERS= option.

COMBINED

tunes the parameters that are specified in the TUNINGPARAMETERS= option and uses default bounds and initial values to tune all other parameters.

Last updated: June 22, 2026