DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法。它将簇定义为密度相连的点的最大集合,把具有足够高密度的区域划分为簇,可以在噪声的空间数据集中发现任意形状的聚类。您可以使用DBSCAN组件构建聚类模型。本文为您介绍DBSCAN组件的配置方法。
功能限制
仅支持在Designer上使用。
支持的计算引擎为MaxCompute和Flink。
可视化配置组件参数
Designer支持通过可视化的方式,配置组件参数。
页签 | 参数 | 描述 |
字段设置 | ID列名 | ID列对应的列名。 |
向量列名 | 向量列对应的列名。 | |
参数设置 | 邻域距离阈值 | 如果节点A是节点B的邻域,则节点A和节点B之间的距离不超过该阈值。具体配置方法,详情请参见附录2:如何配置参数。 |
邻域中样本个数的阈值 | 当一个节点被认为是核心(core)时,它的邻域中至少包含的节点个数。具体配置方法,详情请参见附录2:如何配置参数。 | |
预测结果列名 | 预测结果列的名称。 | |
距离度量方式 | 聚类使用的距离类型,默认为EUCLIDEAN,取值如下:
| |
执行调优 | 节点个数 | 与单个节点内存大小参数配对使用。取值为[1, 9999]的正整数。具体配置方法,详情请参见附录1:如何预估资源使用量。 |
单个节点内存大小,单位M | 取值范围为1024 MB~64*1024 MB。具体配置方法,详情请参见附录1:如何预估资源使用量。 |
附录1:如何预估资源使用量
您可以参考以下内容,来预估资源的使用量。
如何预估每个节点的内存大小?
将输入数据的大小乘以15,即为每个节点的内存大小。
例如:输入数据的大小为1 GB,则每个节点的内存大小可以配置为15 GB。
如何预估节点的个数?
由于存在通信开销,随着节点数量的增加,分布式训练任务速度会先变快,后变慢。如果您观测到训练任务随着节点数量增加之后,速度变慢,则应该停止增加节点数量。
该算法可以支持多大的数据量?
数据量小于100万条,维度小于200。
说明如果数据量超出范围,建议先将数据分组,每个分组分别跑DBSCAN算法。
一个中心点的聚类中心ID为什么是2147483648?
因为该数据点为离散点,不属于任何一个聚类中心。
附录2:如何配置参数
DBSCAN组件常用的两个参数为:邻域中样本个数阈值(minPoints)和邻域距离阈值(epsilon),具体配置方法如下:
当观测到簇数目过多,想要减少簇数目时,建议优先调大minPoints,再调小epsilon。
当观测到簇数目过少,想要增加簇数目时,建议优先调小minPoints,再调大epsilon。