LIGHTGRADBOOST Procedure

PROC LIGHTGRADBOOST Statement

  • PROC LIGHTGRADBOOST <options>;

The PROC LIGHTGRADBOOST statement invokes the procedure. Table 2 summarizes the options in this statement.

Table 2: PROC LIGHTGRADBOOST Statement Options

Option Description
Basic Options
BAGGINGFRACTION= Randomly selects a portion of the observations without resampling
BAGGINGFREQUENCY= Specifies the frequency of bagging
BOOSTING= Specifies the type of boosting
DATA= Specifies the input data table
DETERMINISTIC Ensures stable results when the same data and same parameters are used
INPUTFRACTION= Randomly selects a subset of features on each iteration or tree. If you set it to 0.8, the LightGBM algorithm selects 80% of features before training each tree.
LASSO= Specifies the L1-norm regularization parameter
LEAFSIZE= Specifies the minimum number of observations per leaf
LEARNINGRATE= Specifies the learning rate for each tree
MAXCATEGORIES= Limits the number of split points considered for categorical features
MAXDEPTH= Limits the maximum depth of the tree model. A value less than or equal to 0 means no limit.
MAXITERS= Specifies the number of iterations for the boosting
MONOTONELIST= Specifies constraints of monotone features
NTHREADS= Specifies the number of threads to use in the computation
NUMBIN= Specifies the number of bins to use for numeric variables in calculating the decision tree
OBJECTIVE= Specifies the type of objective
RIDGE= Specifies the L2-norm regularization parameter
SEED= Specifies the random number seed to use for model building
USEMISSING Specifies the use of special handling of missing values
VALIDATIONDATA= Specifies the validation data table


You can specify the following options:

BAGGINGFRACTION=number

randomly selects a portion of the observations without resampling. If number is nonzero, the LightGBM algorithm enables bagging.

By default, BAGGINGFRACTION=1.0. You can tune this value by using the AUTOTUNE statement.

BAGGINGFREQUENCY=number

specifies the frequency of bagging. If number is greater than 0, the LightGBM algorithm performs bagging. If number is n, the LightGBM algorithm randomly selects a value (sans serif italic number specified in the BAGGINGFRACTION equals option times 100 percent sign of the data) to use for the next n iterations.

By default, BAGGINGFREQUENCY=0. You can tune this value by using the AUTOTUNE statement.

BOOSTING=DART | GBDT | GOSS | RF

specifies the type of boosting to use. You can specify the following values:

DART

uses dropouts meet multiple additive regression trees.

GBDT

uses the traditional gradient boosting decision tree.

GOSS

uses gradient-based one-side sampling.

RF

uses the random forest. You must specify the BAGGINGFRACTION= and BAGGINGFREQUENCY= options in order to use this boosting type.

By default, BOOSTING=GBDT.

DATA=libref.data-table

names the input data table for PROC LIGHTGRADBOOST to use. The default is the most recently created data table. libref.data-table is a two-level name, where

libref

refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. For more information about libref, see the section Using CAS Sessions and CAS Engine Librefs.

data-table

specifies the name of the input data table.

DETERMINISTIC

ensures stable results when you use the same data and the same parameters.

INPUTFRACTION=number
FEATUREFRACTION=number

randomly selects a subset of features on each iteration or tree. If number is 0.8, the LightGBM algorithm selects 80% of features before training each tree.

By default, INPUTFRACTION=1.0. You can tune this value by using the AUTOTUNE statement.

LEAFSIZE=number
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, LEAFSIZE=20. You can tune this value by using the AUTOTUNE statement.

LEARNINGRATE=number

specifies the learning rate for each tree, where number must be greater than 0.

By default, LEARNINGRATE=0.1. You can tune this value by using the AUTOTUNE statement.

MAXCATEGORIES=number

limits the number of split points to be considered for categorical features. By default, MAXCATEGORIES=32. This value must be greater than 0.

MAXDEPTH=number

limits the maximum depth of the tree model. A number less than or equal to 0 means no limit.

You can tune this value by using the AUTOTUNE statement.

MAXITERS=number
NUMITERS=number

specifies the maximum number of iterations for the boosting.

By default, MAXITERS=100. You can tune this value by using the AUTOTUNE statement.

MONOTONELIST=(–1 0 1)
MONOTONECONSTRAINTS=(–1 0 1)

specifies series of constraints of monotone features, where 1 represents increasing constraints, –1 represents decreasing constraints, and 0 represents no constraints.

NTHREADS=number

specifies the number of threads to use in the computation. The default number of threads is calculated for best performance according to the data.

NUMBIN=number
NBINS=number
INTERVALBINS=number

specifies the number of bins to use for binning the interval input variables. PROC LIGHTGRADBOOST bins continuous predictors to a fixed bin size. This option controls the number of bins and thus also the size of the bins.

By default, NUMBIN=255. You can tune this value by using the AUTOTUNE statement.

OBJECTIVE=function

specifies the objective function to use. You can specify the following values:

BINARY

uses binary classification.

CROSS_ENTROPY

uses cross-entropy.

CROSS_ENTROPY_LAMBDA

uses an alternative parameterization of cross-entropy.

FAIR

uses fair loss.

GAMMA

uses gamma regression.

HUBER

uses Huber regression.

MAPE

uses mean absolute percentage error regression.

MULTICLASS

uses multiclass classification.

MULTICLASSOVA

uses one-versus-all multiclass classification.

POISSON

uses Poisson regression.

QUANTILE

uses quantile regression.

REGRESSION

uses regression.

REGRESSION_L1

uses L1 regression.

TWEEDIE

uses Tweedie regression.

By default, OBJECTIVE=REGRESSION.

REGL1=number
L1=number
LASSO=number

specifies the L1-norm regularization parameter, where number must be nonnegative.

By default, REGL1=0. You can tune this value by using the AUTOTUNE statement.

REGL2=number
L2=number
RIDGE=number

specifies the L2-norm regularization parameter on prediction. The value of number must be nonnegative.

By default, REGL2=1. You can tune this value by using the AUTOTUNE statement.

SEED=number

specifies the initial seed for random number generation for model building.

USEMISSING

specifies the use of special handling of missing values. You can disable this option by omitting it. The LightGBM model uses not a number (NaN) values to represent missing values by default.

VALIDATIONDATA=data
VALIDDATA=data

specifies that validation data be used. You can use this option to avoid overfitting the training data, combined with parameters such as early stopping rounds.

Last updated: August 06, 2026