DBSCAN算法

简单的说就是根据一个根据对象的密度不断扩展的过程的算法。一个对象O的密度可以用靠近O的对象数来判断。学习DBSCAN算法,需要弄清楚几个概念:

一:基本概念

1.DBSCAN算法:对象O的是与O为中心,DBSCAN算法为半径的空间,参数DBSCAN算法,是用户指定每个对象的领域半径值。

2.MinPts(领域密度阀值):对象的DBSCAN算法的对象数量。

3.核心对象:如果对象ODBSCAN算法的对象数量至少包含MinPts个对象,则该对象是核心对象。

4.直接密度可达:如果对象p在核心对象q的DBSCAN算法内,则p是从q直接密度可达的。

5.密度可达:在DBSCAN中,p是从q(核心对象)密度可达的,如果存在对象链DBSCAN算法,使得DBSCAN算法,DBSCAN算法DBSCAN算法从关于DBSCAN算法和MinPts直接密度可达的,即DBSCAN算法DBSCAN算法

DBSCAN算法内,则DBSCAN算法DBSCAN算法密度可达。

6.密度相连:如果存在对象DBSCAN算法,使得对象DBSCAN算法都是从q关于和MinPts密度可达的,则称DBSCAN算法是关于DBSCAN算法和MinPts密度相连的。

二:密度可达和密度相连

DBSCAN算法

DBSCAN算法

图1基于密度的聚类中的密度可达和密度相连性

由上图可看出m,p,o.r 都是核心对象,因为他们的内都只是包含3个对象。

1.对象q是从m直接密度可达的。对象m从p直接密度可达的。

2.对象q是从p(间接)密度可达的,因为q从m直接密度可达,m从p直接密度可达。

3.r和s是从o密度可达的,而o是从r密度可达的,所有o,r和s都是密度相连的。

三:DBSCAN聚类过程

1.DBSCAN发现簇的过程

初始,给定数据集D中所有对象都被标记为“unvisited”,DBSCAN随机选择一个未访问的对象p,标记p为“visited”,并检查p的DBSCAN算法是否至少包含MinPts个对象。如果不是,则p被标记为噪声点。否则为p创建一个新的簇C,并且把p的DBSCAN算法中所有对象都放在候选集合N中。DBSCAN迭代地把N中不属于其他簇的对象添加到C中。在此过程中,对应N中标记为“unvisited”的对象DBSCAN算法,DBSCAN把它标记为“visited”,并且检查它的DBSCAN算法,如果DBSCAN算法DBSCAN算法至少包含MinPts个对象,则DBSCAN算法DBSCAN算法中的对象都被添加到N中。DBSCAN继续添加对象到C,直到C不能扩展,即直到N为空。此时簇C完成生成,输出。

为了找到下一个簇,DBSCAN从剩下的对象中随机选择一个未访问过的对象。聚类过程继续,直到所有对象都被访问。

2.DBSCAN聚类算法流程

DBSCAN算法

上一篇:Python中字符串常见操作


下一篇:python 字典的常见操作