The BASELEARNER statement provides options for you to specify and customize a base learner model. Here name represents a label that you assign to the base learner model. It is enclosed in quotes and must be a valid variable name. Every base learner that you specify in a BASELEARNER statement must have a unique label. The labels for base learners are not case-sensitive.
You use the model-type to specify the type of a base learner model. You can specify the following model-types:
BART
specifies a Bayesian additive regression trees model. For a list of available model-options and input-options, see the BART section.
BNET
specifies a Bayesian network model. This model is available only if you specify a binary response variable. For a list of available model-options and input-options, see the BNET section.
FACTMAC
specifies a factorization machine model. This model is available only if you specify a continuous response variable. For a list of available model-options and input-options, see the FACTMAC section.
FOREST
specifies a forest model. For a list of available model-options and input-options, see the FOREST section.
GAMMOD
specifies a generalized additive model based on low-rank regression splines. For a list of available model-options and input-options, see the GAMMOD section.
GAMSELECT
specifies a generalized additive model with model selection. For a list of available model-options and input-options, see the GAMSELECT section.
GPCLASS
specifies a Gaussian process classification model. This model is available only if you specify a binary response variable. For a list of available model-options and input-options, see the GPCLASS section.
GPREG
specifies a Gaussian process regression model. This model is available only if you specify a continuous response variable. For a list of available model-options and input-options, see the GPREG section.
GRADBOOST
specifies a gradient boosting model. For a list of available model-options and input-options, see the GRADBOOST section.
LIGHTGRADBOOST
specifies a light gradient boosting machine model. For a list of available model-options and input-options, see the LIGHTGRADBOOST section.
LOGSELECT
specifies a logistic regression model with model selection. This model is available only if you specify a binary response variable. For a list of available model-options and input-options, see the LOGSELECT section.
NNET
specifies an artificial neural network model. For a list of available model-options and input-options, see the NNET section.
REGSELECT
specifies an ordinary least squares regression model with model selection. This model is available only if you specify a continuous response variable. For a list of available model-options and input-options, see the REGSELECT section.
SVMACHINE
specifies a support vector machine model. For a list of available model-options and input-options, see the SVMACHINE section.
TREESPLIT
specifies a tree-based statistical model. For a list of available model-options and input-options, see the TREESPLIT section.
Depending on the SAS software product that you have, some of these model types might not be available. For more information, see the section Supported Base Learner Model Types.
Depending on which model type you choose, different model-options and input-options might be available to you. The following sections describe the relevant model-options and input-options for each base learner model.
BART
The BART model fits a Bayesian additive regression trees model. For more information, see Chapter 4, BART Procedure.
The model-options for the BART model cover only a subset of the options in PROC BART. You can specify any of the following BART-specific model-options by enclosing them in parentheses after the BART keyword:
MINLEAFSIZE=number
specifies the minimum number of observations that each child of a split must contain in the training data in order for the split to be considered. By default, MINLEAFSIZE=5.
NBI=number
specifies the number of burn-in iterations to perform before the procedure starts to save samples for prediction. By default, NBI=100.
NBINS=number
specifies the number of bins to use for binning the continuous input variables. By default, NBINS=50.
NMC=number
specifies the number of iterations in the main simulation loop. By default, NMC=200.
NTHIN=number
specifies the thinning rate of the simulation. By default, NTHIN=1.
NTREE=number
specifies the number of trees in a sample of the sum-of-trees ensemble. By default, NTREE=50.
For full descriptions of these model-options and the BART model, see the PROC BART documentation. Note that the default values for the NMC= and NTREE= options differ from those of the corresponding options in PROC BART.
You can specify input-options to customize the set of predictor variables for the BART model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
If the response variable is nominal, then a binary response model is used. If the response variable is interval, then a Gaussian response model is used.
BNET
The BNET model creates a Bayesian network model. For more information, see Chapter 5, BNET Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the BNET model cover only a subset of the options in PROC BNET. You can specify any of the following BNET-specific model-options by enclosing them in parentheses after the BNET keyword:
ALPHA=number
specifies the significance level for independence tests by using the chi-square or G-square statistics, where number is between 0 and 1, inclusive. By default, ALPHA=0.05.
INDEPTEST=keyword
specifies the method to use for independence tests. You can specify the following keywords:
ALL
uses the chi-square statistics, the G-square statistics, and the normalized mutual information for independence tests.
CHIGSQUARE
uses both the chi-square and G-square statistics for independence tests.
CHISQUARE
uses the chi-square statistics for independence tests.
GSQUARE
uses the G-square statistics for independence tests.
MI
uses the normalized mutual information for independence tests.
By default, INDEPTEST=CHIGSQUARE.
MAXPARENTS=integer
specifies the maximum number of parents that are allowed for each node in the network structure, where integer is a value between 1 and 16, inclusive. By default, MAXPARENTS=5.
MIALPHA=number
specifies the threshold for independence tests by using mutual information, where number is a value between 0 and 1, inclusive. By default, MIALPHA=0.05.
NUMBIN=integer
specifies the number of binning levels for all interval variables, where integer is a value between 2 and 1,024, inclusive. By default, NUMBIN=5.
PARENTING=keyword
specifies the algorithm to use for orienting the network structure. You can specify the following keywords:
BESTONE
uses a greedy approach to determine the parents of each node.
BESTSET
determines the best set of variables among possible candidate sets as the parents of each node.
By default, PARENTING=BESTSET.
PRESCREENING=keyword
specifies the initial screening for the input variables. You can specify the following keywords:
0
uses all the input variables.
1
uses only the input variables that are dependent on the target.
By default, PRESCREENING=1.
STRUCTURE=keyword
specifies the network structure. You can specify the following keywords:
GENERAL
learns a general Bayesian network over the target and input variables.
MB
learns the Markov blanket of the target variable.
NAIVE
assumes a naive Bayesian network structure.
PC
learns the parent-child Bayesian network structure.
TAN
learns the tree-augmented naive Bayesian network structure.
By default, STRUCTURE=PC.
VARSELECT=keyword
specifies how input variables are selected beyond the prescreening. You can specify the following keywords:
0
uses all input variables that remain after the initial screening is performed as specified in the PRESCREENING= option.
1
tests each input variable for conditional independence of the target variable, given any other input variable.
2
tests each input variable further for conditional independence of the target variable, given any subset of other input variables.
3
determines the Markov blanket of the target variable and uses only the variables in the Markov blanket.
By default, VARSELECT=1.
For full descriptions of these model-options and the BNET model, see the PROC BNET documentation. Note that in contrast with PROC BNET, you can specify a single number only when you specify the ALPHA= or MAXPARENTS= option. Also in contrast with PROC BNET, you can specify a single keyword only when you specify the PARENTING=, PRESCREENING=, STRUCTURE=, or VARSELECT= option.
You can specify input-options to customize the set of predictor variables for the BNET model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
FACTMAC
The FACTMAC model fits a factorization machine model. For more information, see Chapter 8, FACTMAC Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the FACTMAC model cover only a subset of the options in PROC FACTMAC. You can specify any of the following FACTMAC-specific model-options by enclosing them in parentheses after the FACTMAC keyword:
LEARNSTEP=number
specifies the learning step size for the stochastic gradient descent algorithm, where number is a positive real number. By default, LEARNSTEP=0.001.
MAXITER=number
specifies the maximum number of iterations for the algorithm to perform, where number is an integer greater than or equal to 1. By default, MAXITER=1.
NFACTORS=number
specifies the number of factors to estimate for the model, where number is an integer greater than or equal to 1. By default, NFACTORS=1.
For full descriptions of these model-options and the FACTMAC model, see the PROC FACTMAC documentation. Note that you must specify at least two nominal input variables. You can also specify any number of interval input variables.
You can specify input-options to customize the set of predictor variables for the FACTMAC model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
FOREST
The FOREST model creates a predictive model called a forest (which consists of several decision trees). For more information, see Chapter 11, FOREST Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the FOREST model cover only a subset of the options in PROC FOREST. You can specify any of the following FOREST-specific model-options by enclosing them in parentheses after the FOREST keyword:
INBAGFRACTION=number
specifies the fraction of the random bootstrap sample of the training data to be used to grow each tree in the forest, where number is a value between 0 and 1, inclusive. By default, INBAGFRACTION=0.6.
MAXDEPTH=number
specifies the maximum depth of the tree to be grown. By default, MAXDEPTH=20.
MINLEAFSIZE=number
specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered. By default, MINLEAFSIZE=5.
NTREES=number
specifies the number of trees to grow in the forest model. By default, NTREES=100.
NUMBIN=number
specifies the number of bins to use for binning the interval input variables. By default, NUMBIN=50.
VARS_TO_TRY=m
specifies the number of input variables to consider splitting on in a node, where m ranges from 1 to the number of input variables. By default, m is the square root of the number of input variables.
For full descriptions of these model-options and the FOREST model, see the PROC FOREST documentation.
You can specify input-options to customize the set of predictor variables for the FOREST model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
GAMMOD
The GAMMOD model fits a generalized additive model that is based on low-rank regression splines. For more information, see Chapter 12, GAMMOD Procedure.
There are no available model-options that you can specify when using a base learner of the GAMMOD model type.
You can specify input-options to customize the set of predictor variables for the GAMMOD model type. If you omit input-options for this base learner model, then the nominal variables that you specify in the INPUT statements enter the base learner as main parametric effects, and each interval variable that you specify in the INPUT statement enters the base learner as a univariate spline effect. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
CLASS=(variables)
names the classification variables to be used as explanatory variables in the analysis if they are also used in the PARAM(effects) option. You can include the response variable, but this is not required.
specifies nonparametric spline effects that are constructed from variables in the input data. You can specify only continuous variables (not classification variables) in spline effects. You can specify this option any number of times. For information about constructing spline effects, see the section MODEL Statement in Chapter 12, GAMMOD Procedure.
You can specify the following spline-options after a slash:
DF=n
specifies a fixed degrees of freedom. When you specify this option, no smoothing parameter selection is performed on the spline term. If n is not an integer, then it is truncated to an integer.
M=n
specifies the order of the derivative in the penalty term, where n is a positive integer. The default is described in the section
For a binary response variable, the response distribution for the GAMMOD model is the binary distribution function. For an interval response variable, the response distribution for the GAMMOD model is the normal distribution function.
For example, you can use the following syntax to specify a base learner by using the GAMMOD model type that includes a mixture of parametric and spline effects:
This is equivalent to the following specification that uses PROC GAMMOD:
proc gammoddata=mylib.data;class z;
model y=param(z x1)spline(x2)spline(x3);run;
GAMSELECT
The GAMSELECT model fits a generalized additive model and performs model selection. For more information, see Chapter 13, GAMSELECT Procedure.
You can specify any of the following GAMSELECT-specific model-options by enclosing them in parentheses after the GAMSELECT keyword:
PARTBYFRAC(VALIDATE=fraction)
randomly assigns specified proportions of the observations in the input data table to the validation role. You specify the proportions for validation by using the VALIDATE= suboption.
PARTBYVAR=variable(VALIDATE='value')
names the variable in the input data table whose values are used to assign the validation role to each observation. You cannot use this variable as an analysis variable for this base learner model. The VALIDATE= suboption specifies the formatted value of this variable that is used to assign observations to the validation role. All observations that are not assigned to the validation role are assigned to the training role.
SELECTION=method<(method-options)>
specifies the method to be used to select the model. You can specify the following methods. You can also specify method-options to apply to the specified method by enclosing them in parentheses after the method.
BOOSTING
specifies the boosting method.
SHRINKAGE
specifies the shrinkage method.
By default, SELECTION=BOOSTING.
Because of the intrinsic difference between the boosting method and the shrinkage method, the two selection methods have two different sets of options that enable you to control the selection process. You can specify the following method-options when SELECTION=BOOSTING:
CHOOSE=VALIDATE
specifies the criterion to use in selecting the final model.
You can specify the following value:
VALIDATE
specifies the average square error for the validation data.
If you omit the CHOOSE= option, the average square error for the training data is used to select the final model.
MAXITER=number
specifies the maximum number of iterations for the boosting method. By default, MAXITER=500.
STEPSIZE=number
specifies the step size to use for the boosting algorithm, where number is a value between 0 and 1. By default, STEPSIZE=0.1.
You can specify the following method-options when SELECTION=SHRINKAGE:
LAMBDA1=number
sets a fixed nonnegative value to control the sparsity penalty.
LAMBDA2=number
sets a fixed nonnegative value to control the smoothness penalty.
MAXITER=number
specifies the maximum number of iterations that generalized additive model fitting can perform by solving reweighted additive models at each iteration. By default, MAXITER=500.
You can specify input-options to customize the set of predictor variables for the GAMSELECT model type. If you omit input-options for this base learner model, then the nominal variables that you specify in the INPUT statements enter the base learner as main parametric effects, and each interval variable that you specify in the INPUT statement enters the base learner as a univariate spline effect. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
CLASS=(variables)
names the classification variables to be used as explanatory variables in the analysis if they are also used in the PARAM(effects) option. You can include the response variable, but this is not required.
specifies nonparametric spline effects that are constructed from variables in the input data. You can specify only continuous variables (not classification variables) in spline effects. You can specify one or two variables in this option when SELECTION=BOOSTING. You can specify only one variable when SELECTION=SHRINKAGE. You can specify this option any number of times. For information about constructing spline effects, see the section MODEL Statement in Chapter 13, GAMSELECT Procedure.
When SELECTION=BOOSTING, you can specify the following spline-options after a slash:
DEGREE=n
specifies the degree of the spline transformation, where n is a nonnegative integer. By default, DEGREE=3.
DF=n
specifies the fixed degrees of freedom for the spline at each boosting iteration. By default, DF=4 for univariate spline terms and DF=6 for bivariate spline terms.
For a binary response variable, the response distribution for the GAMSELECT model is the binary distribution function. For an interval response variable, the response distribution for this model is the normal distribution function.
For example, you can use the following syntax to specify a base learner model by using the GAMSELECT model type that includes a mixture of parametric and spline effects with boosting model selection based on partitioned data:
This is equivalent to the following specification that uses PROC GAMSELECT:
proc gamselectdata=mylib.data;
partition fraction(validate=0.2);
selection method=boosting;class z;
model y=param(z x1)spline(x2)spline(x3);run;
GPCLASS
The GPCLASS model fits a Gaussian process classification model. For more information, see Chapter 15, GPCLASS Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the GPCLASS model cover only a subset of the options in PROC GPCLASS. You can specify any of the following GPCLASS-specific model-options by enclosing them in parentheses after the GPCLASS keyword:
KERNEL=keyword<(kernel-options)>
specifies the kernel-related parameters to use in the Gaussian process. You can specify the following keywords:
CHIGSQUARE
uses a linear kernel.
GAUSSIAN
uses a Gaussian kernel.
By default, KERNEL=GAUSSIAN.
You can also specify the following kernel-options by enclosing them in parentheses after the keyword:
CONSTANT=n
specifies the constant in the linear kernel function. By default, CONSTANT=0.
SIGMA=n
specifies the bandwidth in the Gaussian kernel function. By default, SIGMA=1.
MAXITER=number
specifies the maximum number of Newton iterations. By default, MAXITER=100.
MINLEAFSIZE=number
specifies the minimum change of the loss function between consecutive Newton iterations. By default, THRESHOLD=1.0E–10.
For full descriptions of these model-options and the GPCLASS model, see the PROC GPCLASS documentation.
You can specify input-options to customize the set of predictor variables for the GPCLASS model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-option:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
GPREG
The GPREG model performs Gaussian process regression. For more information, see Chapter 16, GPREG Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the GPREG model cover only a subset of the options in PROC GPREG. You can specify any of the following GPREG-specific model-options by enclosing them in parentheses after the GPREG keyword:
ALGORITHM=keyword
specifies the optimization-algorithm to use during training. You can specify the following keywords:
ADAM
specifies the adaptive moments algorithm.
SGD
specifies the plain stochastic gradient descent algorithm.
By default, ALGORITHM=ADAM.
AUTORELEVANCEDETERMINATION
uses automatic relevance determination in the kernel function.
JITTERMAXITERS=number
specifies the maximum number of iterations for jitter Cholesky decomposition. By default, JITTERMAXITERS=10.
KERNEL=keyword
specifies the kernel-related parameters to be used in the Gaussian process. You can specify the following keywords:
LINEAR
specifies a linear kernel.
MATERN32
specifies a Matern 3/2 kernel.
MATERN52
specifies a Matern 5/2 kernel.
PERIODIC
specifies a periodic kernel.
RBF
specifies a radial basis function kernel.
By default, KERNEL=RBF.
LEARNINGRATE=number
specifies the learning rate parameter for the adam or SGD algorithm. By default, LEARNINGRATE=0.001.
MINIBATCHSIZE=number
specifies the size of the minibatches to use in the adam or SGD algorithm. By default, MINIBATCHSIZE=10.
MOMENTUM=number
specifies the momentum, where number is a value between 0 and 1, inclusive. By default, MOMENTUM=0.
NINDUCINGPOINTS=number
specifies the number of inducing points to use in the sparse Gaussian process, where number is a positive integer. By default, NINDUCINGPOINTS=100.
For full descriptions of these model-options and the GPREG model, see the PROC GPREG documentation.
You can specify input-options to customize the set of predictor variables for the GPREG model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-option:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
GRADBOOST
The GRADBOOST model specifies a gradient boosting model. For more information, see Chapter 17, GRADBOOST Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the GRADBOOST model cover only a subset of the options in PROC GRADBOOST. You can specify any of the following GRADBOOST-specific model-options by enclosing them in parentheses after the GRADBOOST keyword:
LASSO=number
specifies the L1 norm regularization parameter, where number must be nonnegative. By default, LASSO=0.
LEARNINGRATE=number
specifies the learning rate for the gradient boosting algorithm, where number is a value between 0 and 1, inclusive. By default, LEARNINGRATE=0.1.
MAXDEPTH=number
specifies the maximum depth of the tree to be grown. By default, MAXDEPTH=4.
MINLEAFSIZE=number
specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered. By default, MINLEAFSIZE=5.
NTREES=number
specifies the number of trees to grow in the gradient boosting model. By default, NTREES=100.
NUMBIN=number
specifies the number of bins to use for binning the interval input variables. By default, NUMBIN=50.
RIDGE=number
specifies the L2 norm regularization parameter, where number must be nonnegative. By default, RIDGE=1.
SAMPLINGRATE=number
specifies the fraction of the training data to be used to grow each tree in the boosting model. By default, SAMPLINGRATE=0.5.
VARS_TO_TRY=m
specifies the number of input variables to consider splitting on in a node, where m ranges from 1 to the number of input variables. By default, m is the number of input variables
For full descriptions of these model-options and the GRADBOOST model, see the PROC GRADBOOST documentation.
You can specify input-options to customize the set of predictor variables for the GRADBOOST model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
LIGHTGRADBOOST
The LIGHTGRADBOOST model fits a light gradient boosting machine model. For more information, see Chapter 20, LIGHTGRADBOOST Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the LIGHTGRADBOOST model cover only a subset of the options in PROC LIGHTGRADBOOST. You can specify any of the following LIGHTGRADBOOST-specific model-options by enclosing them in parentheses after the LIGHTGRADBOOST keyword:
BAGGINGFRACTION=number
randomly selects a portion of the observations without resampling. By default, BAGGINGFRACTION=1.0.
BAGGINGFREQUENCY=number
specifies the frequency of bagging. By default, BAGGINGFREQUENCY=0.
INPUTFRACTION=number
randomly selects a subset of features on each iteration or tree. By default, INPUTFRACTION=1.0.
LASSO=number
specifies the L1-norm regularization parameter, where number must be nonnegative. You cannot use this option for categorical responses. By default, LASSO=0.
LEAFSIZE=number
specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered. By default, LEAFSIZE=20.
LEARNINGRATE=number
specifies the learning rate for each tree, where number must be greater than 0. By default, LEARNINGRATE=0.1.
MAXDEPTH=number
limits the maximum depth of the tree model. A number less than or equal to 0 means no limit. By default, MAXDEPTH=–1.
MAXITERS=number
specifies the maximum number of iterations for the boosting. By default, MAXITERS=100.
NUMBIN=number
specifies the number of bins to use for binning the interval input variables. By default, NUMBIN=255.
RIDGE=number
specifies the L2-norm regularization parameter, where number must be nonnegative. You cannot use this option for categorical responses. By default, RIDGE=1.
For full descriptions of these model-options and the LIGHTGRADBOOST model, see the PROC LIGHTGRADBOOST documentation.
You can specify input-options to customize the set of predictor variables for the LIGHTGRADBOOST model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
LOGSELECT
The LOGSELECT model specifies a logistic regression model with model selection. For more information, see Chapter 18, LOGSELECT Procedure.
The model-options for the LOGSELECT model cover only a subset of the options in PROC LOGSELECT. You can specify any of the following LOGSELECT-specific model-options by enclosing them in parentheses after the LOGSELECT keyword:
LASSORHO=r
specifies the base regularization parameter for the LASSO model selection method. The regularization parameter for step i is . By default, LASSORHO=0.8.
LASSOSTEPS=n
specifies the maximum number of steps for LASSO model selection. By default, LASSOSTEPS=20.
LASSOTOL=r
specifies the convergence tolerance for the optimization algorithm that solves for the LASSO parameter estimates at each step of LASSO model selection. By default, LASSOTOL=1E–6.
LINK=keyword
specifies the link function for the model. The default link is the logit. You can specify the following keywords:
LOGIT
specifies the logit link function.
PROBIT
specifies the probit link function.
PARTBYFRAC(VALIDATE=fraction)
randomly assigns specified proportions of the observations in the input data table to the validation role. You specify the proportions for validation by using the VALIDATE= suboption.
PARTBYVAR=variable(VALIDATE='value')
names the variable in the input data table whose values are used to assign the validation role to each observation. You cannot use this variable as an analysis variable for this base learner model. The VALIDATE= suboption specifies the formatted value of this variable that is used to assign observations to the validation role. All observations that are not assigned to the validation role are assigned to the training role.
SELECTION=method<(method-options)>
specifies the method to be used to select the model. You can specify the following selection methods:
BACKWARD
performs backward elimination. This method starts with all effects in the model and deletes effects.
ELASTICNET
performs elastic net selection. This method selects effects by fitting a sequence of candidate models with a grid of regularization parameters.
FORWARD
performs forward selection. This method starts with no effects in the model and adds effects.
LASSO
performs model selection by the group LASSO method. This method adds and removes effects by using a sequence of LASSO steps.
NONE
specifies no model selection. This method fits the full model.
STEPWISE
performs stepwise selection. This method is similar to the FORWARD selection method, except that effects already in the model do not necessarily stay there.
By default, SELECTION=NONE. You can also specify method-options to apply to the specified method by enclosing them in parentheses after the method. For more information about the available method-options, see the section Supported Model Selection Suboptions.
You can specify input-options to customize the model effects for the LOGSELECT model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as main model effects for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
CLASS=(variables)
names the classification variables to be used as explanatory variables in the analysis if you also specify them in the EFFECT= option. You can include the response variable, but this is not required.
For example, you can use the following syntax to specify a base learner model by using the LOGSELECT model type with LASSO model selection, where the regularization parameter is chosen on the basis of the partitioned data:
This is equivalent to the following specification that uses PROC LOGSELECT:
proc logselectdata=mylib.data;
partition fraction(validate=0.2);
selection method=lasso(choose=validate);class z;
model y=z x1-x3;run;
NNET
The NNET model trains an artificial neural network model. For more information, see Chapter 25, NNET Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the NNET model cover only a subset of the options in PROC NNET. You can specify any of the following NNET-specific model-options by enclosing them in parentheses after the NNET keyword:
ALGORITHM=keyword
specifies the optimization algorithm to use during training. You can specify the following keywords:
ADAM
specifies the adaptive moments algorithm.
HF
specifies the Hessian-free algorithm.
LBFGS
specifies the limited-memory Broyden-Fletcher-Goldfarb-Shanno algorithm.
SGD
specifies the plain stochastic gradient descent algorithm.
By default, ALGORITHM=LBFGS.
ANNEALINGRATE=number
specifies the annealing parameter, where number is a nonnegative value. You can use this option when you specify the adaptive moments algorithm (ALGORITHM=ADAM) or the stochastic gradient descent algorithm (ALGORITHM=SGD). By default, ANNEALINGRATE=1.0E–6.
HIDDEN(number </ layer-options>)
specifies the number of neurons or units in a hidden layer. You must specify a number, which must be a positive integer. Multiple HIDDEN options are allowed. Each additional HIDDEN option adds a new hidden layer that connects sequentially to the previous layer. If you omit this option, the NNET base learner model has no hidden layer and is equivalent to a generalized linear model.
You can specify the following layer-options after a slash:
ACT=keyword
specifies the activation function for the neurons on each hidden layer. You can specify the following keywords:
EXP
specifies the exponential function.
IDENTITY
specifies the identity function.
LOGISTIC
specifies the logistic function.
RECTIFIER
specifies the rectifier activation function.
SIN
specifies the sine function.
TANH
specifies the hyperbolic tangent function.
By default, ACT=TANH.
COMB=keyword
specifies the combination function for the neurons in each hidden layer. You can specify the following keywords:
ADD
specifies the additive combination function.
LINEAR
specifies the linear combination function.
By default, COMB=LINEAR.
LEARNINGRATE=number
specifies the learning rate parameter, where number is a nonnegative value. You can use this option when you specify the adaptive moments algorithm (ALGORITHM=ADAM) or the stochastic gradient descent algorithm (ALGORITHM=SGD). By default, LEARNINGRATE=0.001.
MINIBATCHSIZE=number
specifies the size of the minibatches to use in the algorithm, where number is a positive value. You can use this option when you specify the adaptive moments algorithm (ALGORITHM=ADAM) or the stochastic gradient descent algorithm (ALGORITHM=SGD). By default, MINIBATCHSIZE=10.
MOMENTUM=number
specifies the momentum, where number is a value between 0 and 1, inclusive. You can use this option when you specify the adaptive moments algorithm (ALGORITHM=ADAM) or the stochastic gradient descent algorithm (ALGORITHM=SGD). By default, MOMENTUM=0.
REGL1=number
specifies the L1 regularization parameter for the model loss function, where number is a nonnegative value. By default, REGL1=0.
REGL2=number
specifies the L2 regularization parameter, where number is a nonnegative value. By default, REGL2=0.
For full descriptions of these model-options and the NNET model, see the PROC NNET documentation.
You can specify input-options to customize the set of predictor variables for the NNET model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
REGSELECT
The REGSELECT model specifies an ordinary least squares regression model with model selection. For more information, see Chapter 29, REGSELECT Procedure.
The model-options for the REGSELECT model cover only a subset of the options in PROC REGSELECT. You can specify any of the following REGSELECT-specific model-options by enclosing them in parentheses after the REGSELECT keyword:
PARTBYFRAC(VALIDATE=fraction)
randomly assigns specified proportions of the observations in the input data table to the validation role. You specify the proportions for validation by using the VALIDATE= suboption.
PARTBYVAR=variable(VALIDATE='value')
names the variable in the input data table whose values are used to assign the validation role to each observation. You cannot use this variable as an analysis variable for this base learner model. The VALIDATE= suboption specifies the formatted value of this variable that is used to assign observations to the validation role. All observations that are not assigned to the validation role are assigned to the training role.
SELECTION=method<(method-options)>
specifies the method to be used to select the model. You can specify the following methods:
BACKWARD
performs backward elimination. This method starts with all effects in the model and deletes effects.
ELASTICNET
performs elastic net selection. This method selects effects by fitting a sequence of candidate models with a grid of regularization parameters.
FORWARD
performs forward selection. This method starts with no effects in the model and adds effects.
FORWARDSWAP
specifies forward-swap selection, which is an extension of the forward selection method.
LAR
specifies the least angle regression method. Like forward selection, this method starts with no effects in the model and adds effects. The parameter estimates at any step are "shrunk" when compared to the corresponding least squares estimates. If the model contains classification variables, then these classification variables are split.
LASSO
specifies the LASSO method, which adds and deletes parameters on the basis of a version of ordinary least squares in which the sum of the absolute regression coefficients is constrained. If the model contains classification variables, then these classification variables are split.
MCP
specifies the MCP method, which uses the minimax concave penalty as the penalty function in penalized least squares estimation.
NONE
specifies no model selection.
SCAD
specifies the SCAD method, which uses smoothly clipped absolute deviation as the penalty function in penalized least squares estimation.
STEPWISE
performs stepwise selection. This method is similar to the forward selection method, except that effects already in the model do not necessarily stay there.
By default, SELECTION=NONE. You can also specify method-options to apply to the specified method by enclosing them in parentheses after the method. For more information about the available method-options, see the section Supported Model Selection Suboptions.
You can specify input-options to customize the model effects for the REGSELECT model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as main model effects for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
CLASS=(variables)
names the classification variables to be used as explanatory variables in the analysis if you also specify them in the EFFECT= option. You can include the response variable, but this is not required.
For example, you can use the following syntax to specify a base learner model by using the REGSELECT model type with LASSO model selection, where the regularization parameter is chosen on the basis of the partitioned data:
This is equivalent to the following specification that uses PROC REGSELECT:
proc regselectdata=mylib.data;
partition fraction(validate=0.2);
selection method=lasso(choose=validate);class z;
model y=z x1-x3;run;
SVMACHINE
The SVMACHINE model fits a support vector machine model. For more information, see Chapter 39, SVMACHINE Procedure (SAS Viya: Machine Learning Procedures).
The model-options for the SVMACHINE model cover only a subset of the options in PROC SVMACHINE. You can specify any of the following SVMACHINE-specific model-options by enclosing them in parentheses after the SVMACHINE keyword:
C=number
specifies the penalty value, where number is a real number greater than 0. By default, C=1.0.
DEGREE=number
specifies the degree that is used in a polynomial kernel. By default, DEGREE=2.
EPSILON=number
specifies the insensitive loss value, where number is a nonnegative real number. By default, EPSILON=0.01.
KERNEL=keyword
specifies the type of kernel. You can specify the following keywords:
LINEAR
uses a linear kernel.
POLYNOMIAL
uses a polynomial kernel.
RBF
uses a radial basis function kernel.
SIGMOID
uses a sigmoid kernel.
By default, KERNEL=LINEAR.
METHOD=keyword
specifies the optimization method. You can specify the following keywords:
ACTIVESET
uses the active-set method.
CD
uses the coordinate descent method.
IPOINT
uses the interior point method.
By default, METHOD=IPOINT.
RBFPARAMETER=number
specifies the K_PAR parameter that is used in an RBF kernel, where number is greater than or equal to 0.0001. By default, the number is the square root of the number of features.
REGL2=number
specifies the L2 penalty value when METHOD=CD, where number is a real number greater than 0.
SCALE
scales the input variables to between 0 and 1, inclusive, during training when the response variable is continuous. By default, the input variables are not scaled when the response variable is continuous.
SIGMOIDPARAMETER1=number
specifies the K_PAR1 parameter that is used in a sigmoid kernel, where number is a positive number. By default, SIGMOIDPARAMETER1=1.
SIGMOIDPARAMETER2=number
specifies the K_PAR2 parameter that is used in a sigmoid kernel, where number is a real number. By default, SIGMOIDPARAMETER2=–1.
For full descriptions of these model-options and the SVMACHINE model, see the PROC SVMACHINE documentation.
You can specify input-options to customize the set of predictor variables for the SVMACHINE model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.
The model-options for the TREESPLIT model cover only a subset of the options in PROC TREESPLIT. You can specify any of the following TREESPLIT-specific model-options by enclosing them in parentheses after the TREESPLIT keyword:
CRITERION=keyword
specifies the criterion by which to split a parent node into child nodes. You can specify the following keywords:
CHAID
uses the chi-square automatic interaction detector (CHAID) criterion.
CHISQUARE
uses a chi-square statistic to split each variable, and then uses the p-values that correspond to the resulting splits to determine the splitting variable. This keyword is available only for categorical responses.
ENTROPY
uses the gain in information to split each variable, and then to determine the split. This keyword is available only for categorical responses.
GINI
uses the decrease in the Gini index to split each variable and then to determine the split. This keyword is available only for categorical responses.
IGR
uses the entropy metric to split each variable, and then uses the information gain ratio to determine the split. This keyword is available only for categorical responses.
FTEST
uses an F statistic to split each variable, and then uses the resulting p-value to determine the split variable. This keyword is available only for continuous responses.
RSS
uses the change in response variance to split each variable and then to determine the split. This keyword is available only for continuous responses.
By default, CRITERION=IGR for categorical responses and CRITERION=RSS for continuous responses.
specifies the minimum number of observations per child node. By default, MINLEAFSIZE=5.
NUMBIN=number
specifies the number of bins to use for binning interval predictor variables. By default, NUMBIN=50.
For full descriptions of these model-options and the TREESPLIT model, see the PROC TREESPLIT documentation. Note that in contrast with PROC TREESPLIT, no pruning is done when you use the TREESPLIT base learner model.
You can specify input-options to customize the set of predictor variables for the TREESPLIT model type. If you omit input-options for this base learner model, then the variables that you specify in the INPUT statements are used as predictor variables for this base learner. If you specify at least one input-option, then the variables that you specify in the INPUT statements do not apply to this base learner. You can specify the following input-options:
INTINPUT=(variables)
specifies the interval input variables for the base learner model.
NOMINPUT=(variables)
specifies the nominal input variables for the base learner model.