一种改进的DBSCAN算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种改进的DBSCAN算法   摘要:DBSCAN算法是基于密度的聚类算法,传统的DBSCAN聚类算法在聚类过程中需要遍历核心点邻域里的点,这就大大增加了DBSCAN算法的运行时间。针对DBSCAN算法时间性能低效的问题,提出一种新的改进的DBSCAN算法。该算法在不丢失对象的基础上,通过改变遍历核心对象邻域点选取方式来扩展类,从减少每次区域查询次数及查询时间,提高了算法的时间性能。实验结果表明,改进的DBSCAN算法是正确和高效的。   关键词:聚类;DBSCAN算法;邻域;核心对象   中图分类号:TP301 文献标识码: A 文章编号:1009-3044(2017)06-0132-02   1 概述   聚类分析[1]是数据挖掘中的重要组成部分。所谓聚类分析, 就是将一组数据集分成多个簇,在同一个簇中的数据相似度较高,而不同簇中的数据相似度较低,人们能够通过识别不同数据密度分布的区域发现数据属性之间的相互关系。在数据挖掘中,人们通过聚类对簇的特点进行分析,获取数据分布的信息。此外,人们还将聚类分析作为其他算法数据处理的步骤。到现在为止,已经有许多聚类算法[2]被提出来了,比如基于划分的方法KMeans[3]算法、基于层次的聚类算法CURE算法 、基于密度的DBSCAN[4]算法、基于网格的CLIQUE等算法。其中DBSCAN算法可以在数据集中发现任意形状的聚类,但由于其遍历节点的次数较多,其时间性能较低。本文提出了一个DBSCAN算法的改进方法,该方法使得DBSCAN改?M算法在时间性能上有较大提高。   2 基于密度的DBSCAN算法   2.1 基本概念   DBSCAN 算法是使用基于距离的方法对数据对象进行聚类,聚类结果是球状的簇。其思想是:通过检测数据集中数据点的Eps邻域内的数据点的数目来搜索簇,如果数据点p的邻域内包含的数据点的数目多于MinPts,则创建一个以p为核心对象的簇,然后,聚集直接密度可达的对象,如果不同簇之间密度可达,则将簇合并。一直到没有新的点添加到簇中结束。下面给出DBSCAN聚类算法的一些定义[5] 。   定义1:邻域   对于对象p以半径为Eps的范围称为对象p的Eps邻域,我们用表示点p的Eps半径内的点的集合,即:   定义2:核心对象   对于给定对象p,如果p点的邻域内包含的数据点数目不小于MinPts,则称点p为核心对象。   定义3:边界点   对于给定对象p,如果对象p点不是核心点,但是对象p在核心对象q的邻域内,则称p为边界点。   定义4:噪音点   对于给定对象p,如果对象既不是核心点,也不是边界点,则称对象p为噪音点。   定义5:直接密度可达   给定一个对象集合D,如果p在q的Eps邻域内,而q是一个核心对象,则称对象p 从对象q出发时是直接密度可达的。   定义6:密度可达   如果存在一组对象,对,是从直接密度可达的,则对象p是从对象q密度可达的。   定义7:密度相连   如果存在对象,使对象p和q都是从O密度可达的,那么对象p到q是密度相连的。   2.2 DBSCAN 算法   DBSCAN 算法是一个基于密度的聚类算法,通过迭代遍历查找所有和核心点直接密度可达的数据点, 来找到所有簇中包含的密度可达的数据对象[6],具体的过程如下所示:   1)对于数据集D中还没有被检查过的数据点p,如果数据点p未被处理,则检查该数据点Eps邻域内的数据点的数目,若数据点数不小于MinPts,则新建一个簇C,将该数据点Eps 邻域内其他所有的数据点添加到簇C中 。   2)对于簇C中任意一个还没有被处理的数据点q,检查它的Eps邻域,若其邻域里的数据点数不小于MinPts,则将该数据点的邻域中还没有属于任何一个簇的数据点加入簇C中 。   3)重复步骤2),直到没有新的对象加入当前簇C 。   4)重复步骤1)?3),直到所有的数据点被处理。   DBSCAN算法在聚类过程中,可以发现数据集中任意形状的簇,但是DBSCAN算法也有其局限性,就是需要对每个数据点对象都要进行邻域查询,时间性能低。   3 DBSCAN改进算法   本文对DBSCAN算法的改进思想是:就是在核心对象进行邻域查询时无需遍历邻域内的所有节点,选择当前邻域内距离核心对象较远但未被标记的点,以减小邻域查询次数和查询时间。算法的聚类过程如下:   1)在数据集上随机选取一个节点p 开始邻域查询,如果数据点p 是核心节点,则将它邻域内的所有数据点点用C进行类别标记。   2)选择里核心点p较远的点q进行邻域查询,如果它是核心点,则将q点邻域里的不在簇C里的点加入到簇C里,如果不是核心点,则继续进行遍历,知道将p邻域里较远的数据点全

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档