zoukankan      html  css  js  c++  java
  • DBSCAN算法

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

    一:基本概念

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

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

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

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

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

    内,则密度可达。

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

    二:密度可达和密度相连

    图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的是否至少包含MinPts个对象。如果不是,则p被标记为噪声点。否则为p创建一个新的簇C,并且把p的中所有对象都放在候选集合N中。DBSCAN迭代地把N中不属于其他簇的对象添加到C中。在此过程中,对应N中标记为“unvisited”的对象,DBSCAN把它标记为“visited”,并且检查它的,如果至少包含MinPts个对象,则中的对象都被添加到N中。DBSCAN继续添加对象到C,直到C不能扩展,即直到N为空。此时簇C完成生成,输出。

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

    2.DBSCAN聚类算法流程

     

  • 相关阅读:
    231. Power of Two
    204. Count Primes
    205. Isomorphic Strings
    203. Remove Linked List Elements
    179. Largest Number
    922. Sort Array By Parity II
    350. Intersection of Two Arrays II
    242. Valid Anagram
    164. Maximum Gap
    147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/aijianiula/p/4339960.html
Copyright © 2011-2022 走看看