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聚类算法流程

     

  • 相关阅读:
    随机数生成程序代码( 伪随机<stdlib.h> )
    C++的学习 (此博客将一直补充更新下去,C++语法方面的内容不开新随笔了, *【语法学习】)
    sdut oj 1510 Contest02-4 Spiral
    POJ 2017 Speed Limit (直叙式的简单模拟 编程题目 动态属性很少,难度小)
    JavaWeb-入门第一课-1.静态web动态web 2.web服务器 3.下载和安装Tomcat-web服务器
    java小知识,驼峰规则
    亚马逊 协同过滤算法 Collaborative filtering
    第一个JSP程序
    物理学步入禅境:缘起性空
    人既然知道努力就可以进步,为什么还是会不努力?
  • 原文地址:https://www.cnblogs.com/aijianiula/p/4339960.html
Copyright © 2011-2022 走看看