DBSCAN聚类

本文为您介绍数据处理组件中的DBSCAN聚类组件。

功能说明

DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法。DBSCAN 的核心概念是 core samples, 是指位于高密度区域的样本。 DBSCAN算法将聚类视为被低密度区域分隔的高密度区域,将具有足够密度的区域划分为簇,并在具有噪声的空间数据库中发现任意形状的簇,它将簇定义为密度相连的点的最大集合。对数据进行聚类处理。

应用场景:例如现有如下数据集:

p1

经过DBSCAN聚类后的效果如下:

p2

计算逻辑原理

DBSCAN是一种基于密度的聚类算法,这类密度聚类算法一般假定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。通过将紧密相连的样本划为一类,这样就得到了一个聚类类别。通过将所有各组紧密相连的样本划为各个不同的类别,则我们就得到了最终的所有聚类类别结果。

参数说明

IN端口

参数名

参数描述

是否必填

输入数据类型

数据源类型

特征列

配置算法的特征变量。

整数或浮点数

说明

若存在非数值数据,则会抛出异常

  • CSV组件

  • IGateInOffline组件

  • 平台上其他数据处理组件

  • 按照平台规范开发的自定义组件

OUT端口

参数名

参数描述

是否必填

输出数据类型

输出

聚类完成后输出具体的聚类类别“label”。

整数

其他参数

参数名

参数描述

是否必填

参数默认值

参数范围

邻域的距离阈值

ϵ-邻域的距离阈值,和样本距离超过ϵ的样本点不在ϵ-邻域内。默认值是0.5,一般需要通过在多组值里面选择一个合适的阈值。阈值过大,则更多的点会落在核心对象的ϵ-邻域,此时我们的类别数可能会减少, 本来不应该是一类的样本也会被划为一类。反之则类别数可能会增大,本来是一类的样本却被划分开。

0.5

[0,99999999]

核心点邻域最小样本数

样本点要成为核心对象所需要的ϵ-邻域的样本数最小值。默认值是5, 一般需要通过在多组值里面选择一个合适的阈值。通常和邻域的距离阈值一起调参。在“距离阈值”一定的情况下,“最小样本数”过大,则核心对象会过少,此时簇内部分本来是一类的样本可能会被标为噪音点,类别数也会变多。反之“最小样本数”过小的话,则会产生大量的核心对象,可能会导致类别数过少。

5

[1,99999999]

寻找最近样本的算法

自动:根据样本数据自动筛选合适的算法。

球树:构建“球树”算法模型。

KD树:“KD树”算法。

暴力搜索 :使用蛮力搜索,需遍历所有样本数据与目标数据的距离,进而按升序排序从而选取最近的K个值,采用投票得出结果。

自动

  • 自动

  • 球树

  • KD树

  • 暴力搜索

聚类效果

聚类效果展示当前数据聚类处理后的效果。可在组件运行成功后查看。

“CH分数(即Calinski-Harabasz指标)”和“轮廓系数”反应聚类效果,值越大,说明聚类效果越好。可参考其结果调整组件参数配置,使聚类结果达到最优。

阿里云首页 工业大脑开放平台 相关技术圈