使用此存储过程可构建线性回归模型。
权限
此语句的授权标识所拥有的特权必须包括 IDAX_USER 角色。
限制
- 输入列必须至少包括一个连续列。
- 输入列的数目(即,连续列数与名义列数之和)不得超过 78。
- 每个名义输入列的相异值数目不得超过 25。
语法
IDAX.LINEAR_REGRESSION(in parameter_string varchar(32672))
参数描述
- parameter_string
- 必需的单字符串参数,其中包含以逗号分隔的 <parameter>=<value> 条目对。
- 数据类型:VARCHAR(32672)
- 以下列表显示参数值:
-
- model
- 必需。
- 要构建的线性回归模型的名称。
- 数据类型:VARCHAR(64)
- intable
- 必需。
- 输入表的名称。
- 数据类型:VARCHAR(128)
- id
- 必需。
- 输入表的列,用于指示序列标识。
- 数据类型:VARCHAR(128)
- target
- 必需。
- 要预测的目标列。
- 数据类型:VARCHAR(128)
- incolumn
- 必需。
- 输入表的列,具有以分号 (;) 分隔的特定属性。
- 数据类型:VARCHAR(32000)
- coldeftype
- 可选。
- 输入表列的缺省类型。
- 允许的值为“nom”和“cont”。
- 如果未指定此参数,那么数字列是连续列,所有其他列都是名义列。
- 缺省值:无
- 数据类型:VARCHAR(4)
- coldefrole
- 可选。
- 输入表列的缺省角色。
- 允许的值为“input”和“ignore”。
- 缺省值:input
- 数据类型:VARCHAR(8)
- colPropertiesTable
- 可选。
- 输入表,其中存储输入表中各个列的属性。
- 如果未指定此参数,那么将会自动检测输入表的列属性。
- 缺省值:无
- 数据类型:VARCHAR(128)
- intercept
- 可选。
- 一个标志,指示是否使用截距值来构建模型。
- 允许的值为 true 和 false。
- 缺省值:true
- 数据类型:VARCHAR(5)
- usesvdsolver
- 可选。
- 一个标志,指示是否强制进行奇异值分解以计算模型。
- 奇异值分解始终会产生结果,即使输入表是奇异矩阵也是如此。因此,结果可能不正确。
- 除非针对输入表的建模过程报告了奇异矩阵问题,否则请将此值设置为 false。
- 允许的值为 true 和 false。
- 缺省值:false
- 数据类型:VARCHAR(5)
- calculatediagnostics
- 可选。
- 一个标志,指示是否计算诊断信息。
- 计算诊断信息需要使用计算而得的模型执行额外的数据扫描。此过程的成本非常高,如果您注重性能,请勿激活此过程。
- 允许的值为 true 和 false。
- 缺省值:false
- 数据类型:VARCHAR(5)
返回的信息
如果线性回归存储过程成功完成,那么将以结果集形式返回以下字符串,其中 t 表示 true。
Result set 1
--------------
LINEAR_REGRESSION
-----------------
t
1 record(s) selected.
Return Status = 0
示例
CALL IDAX.LINEAR_REGRESSION('model=adult_linreg, intable=adult_train, id=id, target=age, coldefrole=ignore,
incolumn=WORKCLASS;FNLWGT;EDUCATION;MARITAL_STATUS;OCCUPATION;RELATIONSHIP;SEX;CAPITAL_GAIN;CAPITAL_LOSS;HOURS_PER_WEEK;
INCOME, calculatediagnostics=false, intercept=true');