在参数中定义的列属性
可以在各种参数(例如,incolumn 参数、coldeftype 参数或 coldefrole 参数)中定义列属性。
注: 在参数中指定的列属性将会覆盖在列属性表中指定的列属性。
该属性将会追加到 incolumn 列表中的列名中,并以冒号与列名分隔,如以下示例所示。
CALL IDAX.KMEANS('intable=SAMPLES.CUSTOMER_CHURN, incolumn=DURATION:input; AVG_SPENT_RETAIN_PM:ignore, id=cust_id, k=3, model=cc_km, outtable=cc_km_out');
此示例显示如何向 incolumn 参数中引用的列添加额外的数据。这些描述性数据、类型数据或角色数据附加在列名之后,并以冒号分隔。数据及其含义随每一种算法不同而异。
在以下示例中,列类型提供给 incolumn 参数中引用的列。
CALL IDAX.KMEANS('intable=SAMPLES.CUSTOMER_CHURN, incolumn=DURATION:cont; CENSOR:nom, id=cust_id, k=3, model=cc_km1, outtable=cc_km1_out');
使用 incolumn 参数,您还可以指定具有 target 或 id 角色的列。使用此方法时,示例更改为如下所示。
CALL IDAX.NAIVEBAYES('intable=SAMPLES.CUSTOMER_CHURN, incolumn=CENSOR:nom; CENSOR:target; CUST_ID:id, model=cc_nb');
与同一属性相关的多个列以竖线 (|) 分隔,如以下示例所示:
CALL IDAX.NAIVEBAYES('intable=SAMPLES.CUSTOMER_CHURN, incolumn=CENSOR|IN_B2B_INDUSTRY:nom; CENSOR:target; CUST_ID:id, model=cc_nb1');
除了在 incolumn 参数中针对个别列设置列属性之外,还可以使用 coldeftype 参数为所有列设置缺省类型。如果指定了 coldeftype,并且在 incolumn 参数中针对某个列指定列属性,那么 incolumn 参数中指定的属性优先。
以下示例显示这种行为。
CALL IDAX.KMEANS('intable=SAMPLES.CUSTOMER_CHURN, coldeftype=cont, incolumn=AVG_SPENT_RETAIN_PM:ignore, id=cust_id, k=3, model=cc_km2, outtable=cc_km2_out');
在此示例中,缺省情况下,将各列均视为名义列,只有在 incolumn 参数中指定为 continuous 的列除外。
与 coldeftype 参数类似,您可使用 coldefrole 参数指定缺省角色,如以下示例所示。
CALL IDAX.NAIVEBAYES('intable=SAMPLES.CUSTOMER_CHURN, coldefrole=ignore, incolumn=IN_B2B_INDUSTRY|DURATION|TOTAL_BUY|TOTAL_EMPLOYEES:input; CENSOR:target:nom; CUST_ID:id, model=cc_nb2');
在此示例中,除了 incolumn 参数、id 参数和 target 参数所定义的列之外,其余列均忽略。