使用此存储过程构建 PCA 模型。
权限
此语句的授权标识所拥有的特权必须包括 IDAX_USER 角色。
要创建 PCA 模型,请确保满足以下先决条件:
- 输入列必须仅包括连续列。
- 输入列必须至少包括两个连续列。
- 输入列的数目不得超过 78。
- 输入表不得为空。
语法
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');