IDAX.PCA - 构建 PCA 模型

使用此存储过程构建 PCA 模型。

权限

此语句的授权标识所拥有的特权必须包括 IDAX_USER 角色。

要创建 PCA 模型,请确保满足以下先决条件:

  1. 输入列必须仅包括连续列。
  2. 输入列必须至少包括两个连续列。
  3. 输入列的数目不得超过 78。
  4. 输入表不得为空。

语法

IDAX.PCA(in parameter_string varchar(32672))

参数描述

parameter_string
必需的单字符串参数,其中包含以逗号分隔的 <parameter>=<value> 条目对。
数据类型:VARCHAR(32672)
以下列表显示参数值:
model
必需。
要构建的 PCA 模型的名称。
数据类型:VARCHAR(ANY)
intable
必需。
输入表的名称。
数据类型:VARCHAR(ANY)
id
必需。
输入表的列,用于指示序列标识。
数据类型:VARCHAR(ANY)
incolumn
可选。
输入表的列,具有以分号 (;) 分隔的特定属性。
如果未指定此参数,那么输入表的所有列都具有缺省属性。
缺省值:无
数据类型:VARCHAR(ANY)
coldeftype
可选。
输入表列的缺省类型。
允许的值为“cont”。
如果未指定此参数,那么所有列都是连续列。
缺省值:无
数据类型:VARCHAR(ANY)
coldefrole
可选。
输入表列的缺省角色。
允许的值为“input”和“ignore”。
如果未指定此参数,那么所有列都是输入列。
缺省值:input
数据类型:VARCHAR(ANY)
colPropertiesTable
可选。
输入表,其中以 IDAX.COLUMN_PROPERTIES() 存储过程的输出格式存储输入表中各个列的属性。
如果未指定此参数,那么将会自动检测输入表的列属性。
限制: 不支持以下表:
  • “COLROLE”列中的值为“objweight”的 colPropertiesTable
  • “COLWEIGHT”列中的值为“<wgt>”的 colPropertiesTable
缺省值:无
数据类型:VARCHAR(ANY)
forceeigensolve
可选。
一个标志,指示计算模型时是否强制执行特征值分解,其速度可能略高于标准的奇异值分解。
允许的值为“true”和“false”。
将此标志设置为 true 可能会使速度略高于标准的奇异值分解。如果输入表是奇异矩阵,那么将此标志设置为 true 不会产生任何效果。
仅当输入表的建模过程显得很慢或者似乎生成了不正确的结果时,才应将此标志设置为 true。
缺省值:false
数据类型:VARCHAR(ANY)
centerdata
可选。
一个标志,指示输入值是否要转换成以零为中心。
允许的值为“true”和“false”。
缺省值:true
数据类型:VARCHAR(ANY)
scaledata
可选。
一个标志,指示是否对输入值自动应用单位方差换算。
允许的值为“true”和“false”。
缺省值:false
数据类型:VARCHAR(ANY)
savescores
可选。
一个标志,指示是否要在 PCA 模型中计算并存储每个 PCA 的得分。
允许的值为“true”和“false”。
缺省值:false
数据类型:VARCHAR(ANY)

返回的信息

一个结果集,如果成功构建 PCA 模型,那么该结果集将会包含字符串“t”(表示“true”)。如果未能成功构建 PCA 模型,那么会显示错误消息。

示例

CALL IDAX.PCA('model=customer_churn_pca, intable=customer_churn_train, id=cust_id, coldefrole=ignore, 
incolumn=DURATION;AVG_SPENT_RETAIN_PM;AVG_SQ_SPENT_RETAIN_PM;ANNUAL_REVENUE_MIL;TOTAL_EMPLOYEES;TOTAL_BUY;TOTAL_BUY_FREQ;TOTAL_BUY_FREQ_SQ,
centerData=true, scaleData=true, forceEigenSolve=false, saveScores=true');