RECENGINE Procedure

PROC RECENGINE Statement

  • PROC RECENGINE METHOD=method<options>;

The PROC RECENGINE statement invokes the procedure. Table 1 summarizes the options available in this statement.

Table 1: PROC RECENGINE Statement Options

Option Description
Data Table Options
DATA= Specifies the input data table
ITEMMODEL= Specifies the output table in which to save the item model output parameters
OUTMODEL= Specifies the output table in which to save the model output parameters
USERMODEL= Specifies the output table in which to save the user model output parameters
Other Options
METHOD= Specifies the recommender system method to be used
NTHREADS= Specifies the number of threads to use on each computation node


You must specify the following option:

METHOD=method

specifies the recommender system method to use. You can specify the following methods:

BPR

uses the Bayesian personalized ranking (BPR) method. For more information about this method, see the section Bayesian Personalized Ranking (BPR).

DTOS

uses the data translation with optimal step size (DTOS) method. For more information about this method, see the section Data Translation with Optimal Step Size (DTOS).

KNN

uses a sparse k-nearest neighbors (KNN) method. For more information about this method, see the section Details: RECENGINE Procedure.

You can also specify the following options:

DATA=libref.data-table

names the input data table for PROC RECENGINE 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.

ITEMMODEL=libref.data-table

specifies the name of the output table that contains the model parameters for items. 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 DATA= option and the section Using CAS Sessions and CAS Engine Librefs.

NGPUS=number-of-gpus

specifies the number of GPUs to use in order to accelerate computation on at least one node, where number-of-gpus can be 0 or 1. Although it is not required, it is recommended that all nodes have equivalent or similar GPU resources to achieve maximum performance. This option is available when METHOD=DTOS.

By default, NGPUS=0.

NTHREADS=number-of-threads

specifies the number of threads per computation node. The default value is the number of threads available per computation node.

OUTMODEL=libref.data-table

specifies the name of the output table that contains the model outputs. 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 DATA= option and the section Using CAS Sessions and CAS Engine Librefs.

USERMODEL=libref.data-table

specifies the name of the output table that contains the model parameters for users. 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 DATA= option and the section Using CAS Sessions and CAS Engine Librefs.

Last updated: August 06, 2026