Factorization Machine Action Set: Syntax

Provides actions for factorization machines

factmac Action

Learns a factorization machine model.

CASL Syntax

factmac.factmac <result=results> <status=rc> /
attributes={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}}
code={
casOut={
caslib="string"
compress=TRUE | FALSE
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
maxMemSize=64-bit-integer
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
comment=TRUE | FALSE,
fmtWdth=integer,
iProb=TRUE | FALSE,
indentSize=integer,
intoCutPt=double,
labelId=integer,
lineSize=integer,
noTrim=TRUE | FALSE,
pCatAll=TRUE | FALSE,
tabForm=TRUE | FALSE
}
codeGroup="string"
display={
caseSensitive=TRUE | FALSE,
exclude=TRUE | FALSE,
excludeAll=TRUE | FALSE,
keyIsPath=TRUE | FALSE,
names={"string-1" <, "string-2", ...>},
pathType="LABEL" | "NAME",
traceNames=TRUE | FALSE
}
freq="variable-name"
id={"variable-name-1" <, "variable-name-2", ...>}
inputs={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}}
learnStep=double
maxIter=integer
modelId="string"
nFactors=integer
nominals={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}}
nonNegative=TRUE | FALSE
outModel={
caslib="string",
compress=TRUE | FALSE,
indexVars={"variable-name-1" <, "variable-name-2", ...>},
label="string",
maxMemSize=64-bit-integer,
name="table-name",
onDemand=TRUE | FALSE,
promote=TRUE | FALSE,
replace=TRUE | FALSE,
replication=integer,
timeStamp="string",
where={"string-1" <, "string-2", ...>}
}
output={
required parameter casOut={
caslib="string"
compress=TRUE | FALSE
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
maxMemSize=64-bit-integer
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
copyVars="ALL" | "ALL_MODEL" | "ALL_NUMERIC" | {"variable-name-1" <, "variable-name-2", ...>}
}
outputTables={
groupByVarsRaw=TRUE | FALSE,
includeAll=TRUE | FALSE,
names={"string-1" <, "string-2", ...>} | {key-1={casouttable-1} <, key-2={casouttable-2}, ...>},
repeated=TRUE | FALSE,
replace=TRUE | FALSE
}
printTarget=TRUE | FALSE
saveState={
caslib="string",
compress=TRUE | FALSE,
indexVars={"variable-name-1" <, "variable-name-2", ...>},
label="string",
maxMemSize=64-bit-integer,
name="table-name",
onDemand=TRUE | FALSE,
promote=TRUE | FALSE,
replace=TRUE | FALSE,
replication=integer,
timeStamp="string",
where={"string-1" <, "string-2", ...>}
}
seed=double
required parameter table={
caslib="string",
computedOnDemand=TRUE | FALSE,
computedVars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>},
importOptions={fileType="AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters},
required parameter name="table-name",
onDemand=TRUE | FALSE,
singlePass=TRUE | FALSE,
vars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
where="where-expression"
}
target="variable-name"
;

Parameter Descriptions

attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

code={aircodegen}

produces SAS score code.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

codeGroup="string"

specifies the code group.

display={displayTables}

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

freq="variable-name"

specifies the frequency variable.

id={"variable-name-1" <, "variable-name-2", ...>}

specifies the variables to use as record identifiers and to transfer to the state output table.

inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variables to be used in the training.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

learnStep=double

specifies the learning step size for the optimization.

Default0.001

maxIter=integer

specifies the maximum number of iterations.

Default30

modelId="string"

specifies the model ID variable name.

nFactors=integer

specifies the number of factors to be estimated.

Default5

nominals={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the nominal variables to be used in the training.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

nonNegative=TRUE | FALSE

when set to True, performs nonnegative factorization.

DefaultFALSE

outModel={casouttable}

specifies the output data table in which to save the estimated factorization machine parameters.

For more information about specifying the outModel parameter, see the common casouttable parameter (Appendix A: Common Parameters).

output={outputStatement}

specifies the output data table in which to save the scored observations.

For more information about specifying the output parameter, see the common outputStatement parameter (Appendix A: Common Parameters).

outputTables={outputTables}

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

printTarget=TRUE | FALSE

when set to True, produces an output table containing the name of the predicted target variable.

DefaultFALSE

saveState={casouttable}

specifies the output data table in which to save the state of the factorization machine for future scoring.

For more information about specifying the saveState parameter, see the common casouttable parameter (Appendix A: Common Parameters).

seed=double

specifies the seed value for random number generation.

Default0

* table={castable}

specifies the settings for an input table.

Long formtable={name="table-name"}
Shortcut formtable="table-name"
The castable value can be one or more of the following:
caslib="string"

specifies the caslib that contains the table that you want to use with the action. By default, the active caslib is used. Specify a value only if you need to access a table from a different caslib.

computedOnDemand=TRUE | FALSE

when set to True, creates the computed variables when the table is loaded instead of when the action begins.

AliascompOnDemand
DefaultFALSE
computedVars={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the names of the computed variables to create. Specify an expression for each variable in the computedVarsProgram parameter.

AliascompVars
format="string"

specifies the format to apply to the variable.

formattedLength=integer

specifies the length of format field plus the format precision.

label="string"

specifies the descriptive label for the variable.

* name="variable-name"

specifies the name for the variable.

nfd=integer

specifies the length of the format precision.

nfl=integer

specifies the length of the format field.

computedVarsProgram="string"

specifies an expression for each computed variable that you include in the computedVars parameter.

AliascompPgm
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}

specifies data source options.

Aliasoptions, dataSource
groupByMode="NOSORT" | "REDISTRIBUTE"

specifies how to create groups.

DefaultNOSORT
NOSORT

group the data without sorting on each machine, and then group the data again on the controller.

REDISTRIBUTE

transfer rows between nodes to guarantee ordering within groups. This method is slower.

importOptions={fileType="AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters}

specifies the settings for reading a table from a data source.

Aliasimport

The value that you specify for fileType determines the other parameters that apply. For more information about this common parameter, see importOptions (Appendix A: Common Parameters).

* name="table-name"

specifies the name of the table to use.

onDemand=TRUE | FALSE

This parameter is deprecated.

DefaultTRUE
singlePass=TRUE | FALSE

when set to True, does not create a transient table on the server. Setting this parameter to True can be efficient, but the data might not have stable ordering upon repeated runs.

DefaultFALSE
vars={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variables to use in the action.

format="string"

specifies the format to apply to the variable.

formattedLength=integer

specifies the length of format field plus the format precision.

label="string"

specifies the descriptive label for the variable.

* name="variable-name"

specifies the name for the variable.

nfd=integer

specifies the length of the format precision.

nfl=integer

specifies the length of the format field.

where="where-expression"

specifies an expression for subsetting the input data.

target="variable-name"

specifies the target variable.

factmac Action

Learns a factorization machine model.

Lua Syntax

results, info = s:factmac_factmac{
attributes={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
code={
casOut={
caslib="string"
compress=true | false
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
maxMemSize=64-bit-integer
name="table-name"
onDemand=true | false
promote=true | false
replace=true | false
replication=integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
comment=true | false,
fmtWdth=integer,
iProb=true | false,
indentSize=integer,
intoCutPt=double,
labelId=integer,
lineSize=integer,
noTrim=true | false,
pCatAll=true | false,
tabForm=true | false
},
codeGroup="string",
display={
caseSensitive=true | false,
exclude=true | false,
excludeAll=true | false,
keyIsPath=true | false,
names={"string-1" <, "string-2", ...>},
pathType="LABEL" | "NAME",
traceNames=true | false
},
freq="variable-name",
id={"variable-name-1" <, "variable-name-2", ...>},
inputs={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
learnStep=double,
maxIter=integer,
modelId="string",
nFactors=integer,
nominals={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
nonNegative=true | false,
outModel={
caslib="string",
compress=true | false,
indexVars={"variable-name-1" <, "variable-name-2", ...>},
label="string",
maxMemSize=64-bit-integer,
name="table-name",
onDemand=true | false,
promote=true | false,
replace=true | false,
replication=integer,
timeStamp="string",
where={"string-1" <, "string-2", ...>}
},
output={
required parameter casOut={
caslib="string"
compress=true | false
indexVars={"variable-name-1" <, "variable-name-2", ...>}
label="string"
maxMemSize=64-bit-integer
name="table-name"
onDemand=true | false
promote=true | false
replace=true | false
replication=integer
timeStamp="string"
where={"string-1" <, "string-2", ...>}
},
copyVars="ALL" | "ALL_MODEL" | "ALL_NUMERIC" | {"variable-name-1" <, "variable-name-2", ...>}
},
outputTables={
groupByVarsRaw=true | false,
includeAll=true | false,
names={"string-1" <, "string-2", ...>} | {key-1={casouttable-1} <, key-2={casouttable-2}, ...>},
repeated=true | false,
replace=true | false
},
printTarget=true | false,
saveState={
caslib="string",
compress=true | false,
indexVars={"variable-name-1" <, "variable-name-2", ...>},
label="string",
maxMemSize=64-bit-integer,
name="table-name",
onDemand=true | false,
promote=true | false,
replace=true | false,
replication=integer,
timeStamp="string",
where={"string-1" <, "string-2", ...>}
},
seed=double,
required parameter table={
caslib="string",
computedOnDemand=true | false,
computedVars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>},
importOptions={fileType="AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters},
required parameter name="table-name",
onDemand=true | false,
singlePass=true | false,
vars={{
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
where="where-expression"
},
target="variable-name"
}

Parameter Descriptions

attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

code={aircodegen}

produces SAS score code.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

codeGroup="string"

specifies the code group.

display={displayTables}

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

freq="variable-name"

specifies the frequency variable.

id={"variable-name-1" <, "variable-name-2", ...>}

specifies the variables to use as record identifiers and to transfer to the state output table.

inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variables to be used in the training.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

learnStep=double

specifies the learning step size for the optimization.

Default0.001

maxIter=integer

specifies the maximum number of iterations.

Default30

modelId="string"

specifies the model ID variable name.

nFactors=integer

specifies the number of factors to be estimated.

Default5

nominals={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the nominal variables to be used in the training.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

nonNegative=true | false

when set to True, performs nonnegative factorization.

Defaultfalse

outModel={casouttable}

specifies the output data table in which to save the estimated factorization machine parameters.

For more information about specifying the outModel parameter, see the common casouttable parameter (Appendix A: Common Parameters).

output={outputStatement}

specifies the output data table in which to save the scored observations.

For more information about specifying the output parameter, see the common outputStatement parameter (Appendix A: Common Parameters).

outputTables={outputTables}

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

printTarget=true | false

when set to True, produces an output table containing the name of the predicted target variable.

Defaultfalse

saveState={casouttable}

specifies the output data table in which to save the state of the factorization machine for future scoring.

For more information about specifying the saveState parameter, see the common casouttable parameter (Appendix A: Common Parameters).

seed=double

specifies the seed value for random number generation.

Default0

* table={castable}

specifies the settings for an input table.

Long formtable={name="table-name"}
Shortcut formtable="table-name"
The castable value can be one or more of the following:
caslib="string"

specifies the caslib that contains the table that you want to use with the action. By default, the active caslib is used. Specify a value only if you need to access a table from a different caslib.

computedOnDemand=true | false

when set to True, creates the computed variables when the table is loaded instead of when the action begins.

AliascompOnDemand
Defaultfalse
computedVars={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the names of the computed variables to create. Specify an expression for each variable in the computedVarsProgram parameter.

AliascompVars
format="string"

specifies the format to apply to the variable.

formattedLength=integer

specifies the length of format field plus the format precision.

label="string"

specifies the descriptive label for the variable.

* name="variable-name"

specifies the name for the variable.

nfd=integer

specifies the length of the format precision.

nfl=integer

specifies the length of the format field.

computedVarsProgram="string"

specifies an expression for each computed variable that you include in the computedVars parameter.

AliascompPgm
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}

specifies data source options.

Aliasoptions, dataSource
groupByMode="NOSORT" | "REDISTRIBUTE"

specifies how to create groups.

DefaultNOSORT
NOSORT

group the data without sorting on each machine, and then group the data again on the controller.

REDISTRIBUTE

transfer rows between nodes to guarantee ordering within groups. This method is slower.

importOptions={fileType="AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters}

specifies the settings for reading a table from a data source.

Aliasimport

The value that you specify for fileType determines the other parameters that apply. For more information about this common parameter, see importOptions (Appendix A: Common Parameters).

* name="table-name"

specifies the name of the table to use.

onDemand=true | false

This parameter is deprecated.

Defaulttrue
singlePass=true | false

when set to True, does not create a transient table on the server. Setting this parameter to True can be efficient, but the data might not have stable ordering upon repeated runs.

Defaultfalse
vars={{casinvardesc-1} <, {casinvardesc-2}, ...>}

specifies the variables to use in the action.

format="string"

specifies the format to apply to the variable.

formattedLength=integer

specifies the length of format field plus the format precision.

label="string"

specifies the descriptive label for the variable.

* name="variable-name"

specifies the name for the variable.

nfd=integer

specifies the length of the format precision.

nfl=integer

specifies the length of the format field.

where="where-expression"

specifies an expression for subsetting the input data.

target="variable-name"

specifies the target variable.

factmac Action

Learns a factorization machine model.

Python Syntax

results= s.factmac.factmac(
attributes=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
code={
"casOut":{
"caslib":"string"
"compress":True | False
"indexVars":["variable-name-1" <, "variable-name-2", ...>]
"label":"string"
"maxMemSize":64-bit-integer
"name":"table-name"
"onDemand":True | False
"promote":True | False
"replace":True | False
"replication":integer
"timeStamp":"string"
"where":["string-1" <, "string-2", ...>]
},
"comment":True | False,
"fmtWdth":integer,
"iProb":True | False,
"indentSize":integer,
"intoCutPt":double,
"labelId":integer,
"lineSize":integer,
"noTrim":True | False,
"pCatAll":True | False,
"tabForm":True | False
},
codeGroup="string",
display={
"caseSensitive":True | False,
"exclude":True | False,
"excludeAll":True | False,
"keyIsPath":True | False,
"names":["string-1" <, "string-2", ...>],
"pathType":"LABEL" | "NAME",
"traceNames":True | False
},
freq="variable-name",
id=["variable-name-1" <, "variable-name-2", ...>],
inputs=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
learnStep=double,
maxIter=integer,
modelId="string",
nFactors=integer,
nominals=[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
nonNegative=True | False,
outModel={
"caslib":"string",
"compress":True | False,
"indexVars":["variable-name-1" <, "variable-name-2", ...>],
"label":"string",
"maxMemSize":64-bit-integer,
"name":"table-name",
"onDemand":True | False,
"promote":True | False,
"replace":True | False,
"replication":integer,
"timeStamp":"string",
"where":["string-1" <, "string-2", ...>]
},
output={
required parameter "casOut":{
"caslib":"string"
"compress":True | False
"indexVars":["variable-name-1" <, "variable-name-2", ...>]
"label":"string"
"maxMemSize":64-bit-integer
"name":"table-name"
"onDemand":True | False
"promote":True | False
"replace":True | False
"replication":integer
"timeStamp":"string"
"where":["string-1" <, "string-2", ...>]
},
"copyVars":"ALL" | "ALL_MODEL" | "ALL_NUMERIC" | ["variable-name-1" <, "variable-name-2", ...>]
},
outputTables={
"groupByVarsRaw":True | False,
"includeAll":True | False,
"names":["string-1" <, "string-2", ...>] | {"key-1":{casouttable-1} <, "key-2":{casouttable-2}, ...>},
"repeated":True | False,
"replace":True | False
},
printTarget=True | False,
saveState={
"caslib":"string",
"compress":True | False,
"indexVars":["variable-name-1" <, "variable-name-2", ...>],
"label":"string",
"maxMemSize":64-bit-integer,
"name":"table-name",
"onDemand":True | False,
"promote":True | False,
"replace":True | False,
"replication":integer,
"timeStamp":"string",
"where":["string-1" <, "string-2", ...>]
},
seed=double,
required parameter table={
"caslib":"string",
"computedOnDemand":True | False,
"computedVars":[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
"computedVarsProgram":"string",
"dataSourceOptions":{"key-1":{any-list-or-data-type-1} <, "key-2":{any-list-or-data-type-2}, ...>},
"importOptions":{"fileType":"AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters},
required parameter "name":"table-name",
"onDemand":True | False,
"singlePass":True | False,
"vars":[{
"format":"string",
"formattedLength":integer,
"label":"string",
required parameter "name":"variable-name",
"nfd":integer,
"nfl":integer
}<, {...}>],
"where":"where-expression"
},
target="variable-name"
)

Parameter Descriptions

attributes=[{casinvardesc-1} <, {casinvardesc-2}, ...>]

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

code={aircodegen}

produces SAS score code.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

codeGroup="string"

specifies the code group.

display={displayTables}

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

freq="variable-name"

specifies the frequency variable.

id=["variable-name-1" <, "variable-name-2", ...>]

specifies the variables to use as record identifiers and to transfer to the state output table.

inputs=[{casinvardesc-1} <, {casinvardesc-2}, ...>]

specifies the variables to be used in the training.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

learnStep=double

specifies the learning step size for the optimization.

Default0.001

maxIter=integer

specifies the maximum number of iterations.

Default30

modelId="string"

specifies the model ID variable name.

nFactors=integer

specifies the number of factors to be estimated.

Default5

nominals=[{casinvardesc-1} <, {casinvardesc-2}, ...>]

specifies the nominal variables to be used in the training.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

nonNegative=True | False

when set to True, performs nonnegative factorization.

DefaultFalse

outModel={casouttable}

specifies the output data table in which to save the estimated factorization machine parameters.

For more information about specifying the outModel parameter, see the common casouttable parameter (Appendix A: Common Parameters).

output={outputStatement}

specifies the output data table in which to save the scored observations.

For more information about specifying the output parameter, see the common outputStatement parameter (Appendix A: Common Parameters).

outputTables={outputTables}

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

printTarget=True | False

when set to True, produces an output table containing the name of the predicted target variable.

DefaultFalse

saveState={casouttable}

specifies the output data table in which to save the state of the factorization machine for future scoring.

For more information about specifying the saveState parameter, see the common casouttable parameter (Appendix A: Common Parameters).

seed=double

specifies the seed value for random number generation.

Default0

* table={castable}

specifies the settings for an input table.

Long formtable={"name":"table-name"}
Shortcut formtable="table-name"
The castable value can be one or more of the following:
"caslib":"string"

specifies the caslib that contains the table that you want to use with the action. By default, the active caslib is used. Specify a value only if you need to access a table from a different caslib.

"computedOnDemand":True | False

when set to True, creates the computed variables when the table is loaded instead of when the action begins.

AliascompOnDemand
DefaultFalse
"computedVars":[{casinvardesc-1} <, {casinvardesc-2}, ...>]

specifies the names of the computed variables to create. Specify an expression for each variable in the computedVarsProgram parameter.

AliascompVars
"format":"string"

specifies the format to apply to the variable.

"formattedLength":integer

specifies the length of format field plus the format precision.

"label":"string"

specifies the descriptive label for the variable.

* "name":"variable-name"

specifies the name for the variable.

"nfd":integer

specifies the length of the format precision.

"nfl":integer

specifies the length of the format field.

"computedVarsProgram":"string"

specifies an expression for each computed variable that you include in the computedVars parameter.

AliascompPgm
"dataSourceOptions":{"key-1":{any-list-or-data-type-1} <, "key-2":{any-list-or-data-type-2}, ...>}

specifies data source options.

Aliasoptions, dataSource
"groupByMode":"NOSORT" | "REDISTRIBUTE"

specifies how to create groups.

DefaultNOSORT
NOSORT

group the data without sorting on each machine, and then group the data again on the controller.

REDISTRIBUTE

transfer rows between nodes to guarantee ordering within groups. This method is slower.

"importOptions":{fileType="AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters}

specifies the settings for reading a table from a data source.

Aliasimport_

The value that you specify for fileType determines the other parameters that apply. For more information about this common parameter, see importOptions (Appendix A: Common Parameters).

* "name":"table-name"

specifies the name of the table to use.

"onDemand":True | False

This parameter is deprecated.

DefaultTrue
"singlePass":True | False

when set to True, does not create a transient table on the server. Setting this parameter to True can be efficient, but the data might not have stable ordering upon repeated runs.

DefaultFalse
"vars":[{casinvardesc-1} <, {casinvardesc-2}, ...>]

specifies the variables to use in the action.

"format":"string"

specifies the format to apply to the variable.

"formattedLength":integer

specifies the length of format field plus the format precision.

"label":"string"

specifies the descriptive label for the variable.

* "name":"variable-name"

specifies the name for the variable.

"nfd":integer

specifies the length of the format precision.

"nfl":integer

specifies the length of the format field.

"where":"where-expression"

specifies an expression for subsetting the input data.

target="variable-name"

specifies the target variable.

factmac Action

Learns a factorization machine model.

R Syntax

results <– cas.factmac.factmac(s,
attributes=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
code=list(
casOut=list(
caslib="string"
compress=TRUE | FALSE
indexVars=list("variable-name-1" <, "variable-name-2", ...>)
label="string"
maxMemSize=64-bit-integer
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
timeStamp="string"
where=list("string-1" <, "string-2", ...>)
),
comment=TRUE | FALSE,
fmtWdth=integer,
iProb=TRUE | FALSE,
indentSize=integer,
intoCutPt=double,
labelId=integer,
lineSize=integer,
noTrim=TRUE | FALSE,
pCatAll=TRUE | FALSE,
tabForm=TRUE | FALSE
),
codeGroup="string",
display=list(
caseSensitive=TRUE | FALSE,
exclude=TRUE | FALSE,
excludeAll=TRUE | FALSE,
keyIsPath=TRUE | FALSE,
names=list("string-1" <, "string-2", ...>),
pathType="LABEL" | "NAME",
traceNames=TRUE | FALSE
),
freq="variable-name",
id=list("variable-name-1" <, "variable-name-2", ...>),
inputs=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
learnStep=double,
maxIter=integer,
modelId="string",
nFactors=integer,
nominals=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
nonNegative=TRUE | FALSE,
outModel=list(
caslib="string",
compress=TRUE | FALSE,
indexVars=list("variable-name-1" <, "variable-name-2", ...>),
label="string",
maxMemSize=64-bit-integer,
name="table-name",
onDemand=TRUE | FALSE,
promote=TRUE | FALSE,
replace=TRUE | FALSE,
replication=integer,
timeStamp="string",
where=list("string-1" <, "string-2", ...>)
),
output=list(
required parameter casOut=list(
caslib="string"
compress=TRUE | FALSE
indexVars=list("variable-name-1" <, "variable-name-2", ...>)
label="string"
maxMemSize=64-bit-integer
name="table-name"
onDemand=TRUE | FALSE
promote=TRUE | FALSE
replace=TRUE | FALSE
replication=integer
timeStamp="string"
where=list("string-1" <, "string-2", ...>)
),
copyVars="ALL" | "ALL_MODEL" | "ALL_NUMERIC" | list("variable-name-1" <, "variable-name-2", ...>)
),
outputTables=list(
groupByVarsRaw=TRUE | FALSE,
includeAll=TRUE | FALSE,
names=list("string-1" <, "string-2", ...>) | list(key-1=list(casouttable-1) <, key-2=list(casouttable-2), ...>),
repeated=TRUE | FALSE,
replace=TRUE | FALSE
),
printTarget=TRUE | FALSE,
saveState=list(
caslib="string",
compress=TRUE | FALSE,
indexVars=list("variable-name-1" <, "variable-name-2", ...>),
label="string",
maxMemSize=64-bit-integer,
name="table-name",
onDemand=TRUE | FALSE,
promote=TRUE | FALSE,
replace=TRUE | FALSE,
replication=integer,
timeStamp="string",
where=list("string-1" <, "string-2", ...>)
),
seed=double,
required parameter table=list(
caslib="string",
computedOnDemand=TRUE | FALSE,
computedVars=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
dataSourceOptions=list(key-1=list(any-list-or-data-type-1) <, key-2=list(any-list-or-data-type-2), ...>),
importOptions=list(fileType="AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters),
required parameter name="table-name",
onDemand=TRUE | FALSE,
singlePass=TRUE | FALSE,
vars=list( list(
format="string",
formattedLength=integer,
label="string",
required parameter name="variable-name",
nfd=integer,
nfl=integer
) <, list(...)>),
where="where-expression"
),
target="variable-name"
)

Parameter Descriptions

attributes=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

specifies the variable attributes.

For more information about specifying the attributes parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

code=list(aircodegen)

produces SAS score code.

For more information about specifying the code parameter, see the common aircodegen parameter (Appendix A: Common Parameters).

codeGroup="string"

specifies the code group.

display=list(displayTables)

specifies a list of results tables to send to the client for display.

For more information about specifying the display parameter, see the common displayTables parameter (Appendix A: Common Parameters).

freq="variable-name"

specifies the frequency variable.

id=list("variable-name-1" <, "variable-name-2", ...>)

specifies the variables to use as record identifiers and to transfer to the state output table.

inputs=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

specifies the variables to be used in the training.

For more information about specifying the inputs parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

learnStep=double

specifies the learning step size for the optimization.

Default0.001

maxIter=integer

specifies the maximum number of iterations.

Default30

modelId="string"

specifies the model ID variable name.

nFactors=integer

specifies the number of factors to be estimated.

Default5

nominals=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

specifies the nominal variables to be used in the training.

For more information about specifying the nominals parameter, see the common casinvardesc parameter (Appendix A: Common Parameters).

nonNegative=TRUE | FALSE

when set to True, performs nonnegative factorization.

DefaultFALSE

outModel=list(casouttable)

specifies the output data table in which to save the estimated factorization machine parameters.

For more information about specifying the outModel parameter, see the common casouttable parameter (Appendix A: Common Parameters).

output=list(outputStatement)

specifies the output data table in which to save the scored observations.

For more information about specifying the output parameter, see the common outputStatement parameter (Appendix A: Common Parameters).

outputTables=list(outputTables)

lists the names of results tables to save as CAS tables on the server.

For more information about specifying the outputTables parameter, see the common outputTables parameter (Appendix A: Common Parameters).

printTarget=TRUE | FALSE

when set to True, produces an output table containing the name of the predicted target variable.

DefaultFALSE

saveState=list(casouttable)

specifies the output data table in which to save the state of the factorization machine for future scoring.

For more information about specifying the saveState parameter, see the common casouttable parameter (Appendix A: Common Parameters).

seed=double

specifies the seed value for random number generation.

Default0

* table=list(castable)

specifies the settings for an input table.

Long formtable=list(name="table-name")
Shortcut formtable="table-name"
The castable value can be one or more of the following:
caslib="string"

specifies the caslib that contains the table that you want to use with the action. By default, the active caslib is used. Specify a value only if you need to access a table from a different caslib.

computedOnDemand=TRUE | FALSE

when set to True, creates the computed variables when the table is loaded instead of when the action begins.

AliascompOnDemand
DefaultFALSE
computedVars=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

specifies the names of the computed variables to create. Specify an expression for each variable in the computedVarsProgram parameter.

AliascompVars
format="string"

specifies the format to apply to the variable.

formattedLength=integer

specifies the length of format field plus the format precision.

label="string"

specifies the descriptive label for the variable.

* name="variable-name"

specifies the name for the variable.

nfd=integer

specifies the length of the format precision.

nfl=integer

specifies the length of the format field.

computedVarsProgram="string"

specifies an expression for each computed variable that you include in the computedVars parameter.

AliascompPgm
dataSourceOptions=list(key-1=list(any-list-or-data-type-1) <, key-2=list(any-list-or-data-type-2), ...>)

specifies data source options.

Aliasoptions, dataSource
groupByMode="NOSORT" | "REDISTRIBUTE"

specifies how to create groups.

DefaultNOSORT
NOSORT

group the data without sorting on each machine, and then group the data again on the controller.

REDISTRIBUTE

transfer rows between nodes to guarantee ordering within groups. This method is slower.

importOptions=list(fileType="AUTO" | "BASESAS" | "CSV" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "JMP" | "LASR" | "SPSS" | "XLS", fileType-specific-parameters)

specifies the settings for reading a table from a data source.

Aliasimport

The value that you specify for fileType determines the other parameters that apply. For more information about this common parameter, see importOptions (Appendix A: Common Parameters).

* name="table-name"

specifies the name of the table to use.

onDemand=TRUE | FALSE

This parameter is deprecated.

DefaultTRUE
singlePass=TRUE | FALSE

when set to True, does not create a transient table on the server. Setting this parameter to True can be efficient, but the data might not have stable ordering upon repeated runs.

DefaultFALSE
vars=list( list(casinvardesc-1) <, list(casinvardesc-2), ...>)

specifies the variables to use in the action.

format="string"

specifies the format to apply to the variable.

formattedLength=integer

specifies the length of format field plus the format precision.

label="string"

specifies the descriptive label for the variable.

* name="variable-name"

specifies the name for the variable.

nfd=integer

specifies the length of the format precision.

nfl=integer

specifies the length of the format field.

where="where-expression"

specifies an expression for subsetting the input data.

target="variable-name"

specifies the target variable.

Last updated: June 07, 2018