在列属性表中定义的列属性
您可以创建与指定输入表关联的列属性表,代替在参数中定义列属性。
以这种方式,您可指定在算法中频繁使用的输入表的列属性。这种方法可确保每个算法调用处理数据的方式一致。
注: 在参数中指定的列属性将会覆盖在列属性表中指定的列属性。
要创建和管理列属性表,您可使用以下过程:
- COLUMN_PROPERTIES
- SET_COLUMN_PROPERTIES
- GET_COLUMN_LIST
列属性表中的列如下所示:
| 列名 | 列类型 | 描述 |
|---|---|---|
| COLNO | INTEGER | 输入表中列的索引 |
| NAME | VARCHAR(128) | 列的名称 |
| SQLTYPE | VARCHAR(128) | 列的 SQL 类型 派生自系统目录 |
| LENGTH | INTEGER | 列的长度 派生自系统目录 |
| SCALE | SMALLINT | 列的标度 派生自系统目录 |
| TYPE | VARCHAR(64) | 挖掘类型,即,nom 表示名义,cont 表示连续 |
| ROLE | VARCHAR(64) | 列的特定角色,例如,target 或 id |
| WEIGHT | FLOAT | 列的权重 |
| CARDINALITY | BIGINT | 列统计 可以为 NULL |
| MINIMUM | DOUBLE | 列统计 可以为 NULL |
| MAXIMUM | DOUBLE | 列统计 可以为 NULL |
| MEAN | DOUBLE | 列统计 可以为 NULL |
| VARIANCE | DOUBLE | 列统计 可以为 NULL |
| NUMVALID | BIGINT | 列统计 可以为 NULL |
| NUMINVALID | BIGINT | 列统计 可以为 NULL |
| NUMMISSING | BIGINT | 列统计 可以为 NULL |
指定列属性表供算法使用
以下示例显示如何通过提供指定的列属性表来调用算法。
CALL IDAX.COLUMN_PROPERTIES('intable=SAMPLES.CUSTOMER_CHURN, outtable=CUSTOMER_CHURN_COLPROPTABLE');
CALL IDAX.KMEANS('intable=SAMPLES.CUSTOMER_CHURN, colPropertiesTable=CUSTOMER_CHURN_COLPROPTABLE, incolumn=AVG_SPENT_RETAIN_PM:ignore; CENSOR:nom, id=cust_id, k=3, model=cc_km3, outtable=cc_km3_out');
colPropertiesTable 表包含输入表列的属性。但是,incolumn 参数的优先级更高,因此会覆盖列属性表中的设置。在示例中,无论列属性表中指定的值为何,都会将 age 视为连续列。