DBSCAN

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法。它将簇定义为密度相连的点的最大集合,把具有足够高密度的区域划分为簇,可以在噪声的空间数据集中发现任意形状的聚类。您可以使用DBSCAN组件构建聚类模型。本文为您介绍DBSCAN组件的配置方法。

功能限制

  • 仅支持在Designer上使用。

  • 支持的计算引擎为MaxComputeFlink。

可视化配置组件参数

Designer支持通过可视化的方式,配置组件参数。

页签

参数

描述

字段设置

ID列名

ID列对应的列名。

向量列名

向量列对应的列名。

参数设置

邻域距离阈值

如果节点A是节点B的邻域,则节点A和节点B之间的距离不超过该阈值。具体配置方法,详情请参见附录2:如何配置参数

邻域中样本个数的阈值

当一个节点被认为是核心(core)时,它的邻域中至少包含的节点个数。具体配置方法,详情请参见附录2:如何配置参数

预测结果列名

预测结果列的名称。

距离度量方式

聚类使用的距离类型,默认为EUCLIDEAN,取值如下:

  • EUCLIDEAN:欧式距离。公式为:公式

  • COSINE:夹角余弦距离,公式为:公式

  • CITYBLOCK:街区距离,公式为:公式

执行调优

节点个数

单个节点内存大小参数配对使用。取值为[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。