CLUSTER 命令
概念信息
基于一个或多个数值域中的类似值将记录分组为聚类。聚类可以是单维的或多维的。
说明
如果您是在 32 位计算机上运行 Analytics,则 CLUSTER 命令不受支持。该命令所需的计算是处理器密集型的,并且更适合于 64 位计算机。
语法
CLUSTER ON 键域 <...n> KVALUE 聚类数 ITERATIONS 迭代数 INITIALIZATIONS 初始化数 <SEED 种子值> <OTHER 域 < ...n>|OTHER ALL> TO 表名称 <IF 测试> <WHILE 测试> <FIRST 范围|NEXT 范围> OPEN {无关键字|NOCENTER|NOSCALE}
参数
| 名称 | 描述 |
|---|---|
| ON 键域 <...n> |
要聚类的一个或多个数值域。多个域必需以空格分隔。 |
| KVALUE 聚类数 |
在输出结果中生成的聚类数。 有关详细信息,请参见选择聚类个数 (K 值)。 |
| ITERATIONS 迭代数 | 重新执行聚类计算的最大次数。 |
| INITIALIZATIONS 初始化数 |
生成随机质心的初始集的次数。 |
| SEED 种子值 可选 |
要用来在 Analytics 中初始化随机数生成器的种子值。 如果省略 SEED,则 Analytics 会随机选择种子值。 |
| OTHER 域 <...n> | OTHER ALL 可选 |
要包括在输出中的一个或多个其他域。
说明 键域被自动包括在输出表中,尽管这些值会被校正(除非您指定 NOSCALE)。您可以使用 OTHER 包括一个或多个键域的第二个非校正实例。 |
| TO 表名 |
要将命令结果发送到的位置:
|
| IF 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。仅对满足条件的那些记录执行该命令。 说明 在应用任何范围参数(WHILE、FIRST、NEXT)之后,仅针对表中的剩余记录评估 IF 条件。 |
| WHILE 测试 可选 |
一个条件表达式,它必须为真以便处理每个记录。该命令被一直执行到条件的计算结果为假或者到达表的末尾为止。 说明 如果您将 WHILE 与 FIRST 或 NEXT 结合使用,请在达到一个限制时立即记下处理步骤。 |
| FIRST 范围 | NEXT 范围 可选 |
要处理的记录数:
请使用范围指定要处理的记录数。 如果您省略 FIRST 和 NEXT,则会默认处理所有记录。 |
| OPEN 可选 |
在命令执行后打开该命令创建的表。仅当该命令创建输出表时有效。 |
| no 关键字 | NOCENTER | NOSCALE |
在计算聚类前预处理键域数值类型值的方法。
有关详细信息,请参见指定数据预处理方法。 |
示例
按发票金额聚类
除了按 Invoice_Amount 域对应收帐款表进行分层以外,您还决定对同一个域进行聚类。
- 分层会将金额分组为具有预定义数值边界(例如,$1000 间隔)的层。
- 聚类可发现数据中存在的任何有机金额分组,而无需您事先决定数值边界。
OPEN 应收账款
CLUSTER ON Invoice_Amount KVALUE 8 ITERATIONS 30 INITIALIZATIONS 10 OTHER No Due Date Ref Type TO "Clustered_invoices" NOSCALE
作为发现每个输出聚类中包含多少个记录的快速方式,您按 Cluster 域对 Clustered_invoices 输出表进行分类。
OPEN Clustered_invoices
CLASSIFY ON Cluster TO SCREEN
备注
有关此命令工作方式的详细信息,请参见数据聚类。