dbscan算法实验报告.docxVIP

  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文档。上传文档
查看更多
一. 算法概述 1. 密度聚类原理   DBSCAN 是一种基于密度的聚类算法,这类密度聚类算法一般假 定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们 之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定 有同类别的样本存在。   通过将紧密相连的样本划为一类,这样就得到了一个聚类类别。 通过将所有各组紧密相连的样本划为各个不同的类别,则我们就得 到了最终的所有聚类类别结果。 2. DBSCAN 密度定义   DBSCAN 是基于一组邻域来描述样本集的紧密程度的,参数(?, MinPts)用来描述邻域的样本分布紧密程度。其中,? 描述了某一样 本的邻域距离阈值,MinPts 描述了某一样本的距离为 ? 的邻域中样 本个数的阈值。假设我的样本集是 D=(x1,x2,...,xm),则 DBSCAN 具体 的密度描述定义如下:     1) ?-邻域:对于 xj∈D,其 ?-邻域包含样本集 D 中与 xj 的 距离不大于 ? 的子样本集,即 N?(xj)={xi∈D|distance(xi,xj)≤?}, 这个子 样本集的个数记为|N?(xj)|     2) 核心对象:对于任一样本 xj∈D,如果其 ?-邻域对应的 N?(xj)至少包含 MinPts 个样本,即如果|N?(xj)|≥MinPts,则 xj 是核心对象。      3)密度直达:如果 xi 位于 xj 的 ?-邻域中,且 xj 是核心对 象,则称 xi 由 xj 密度直达。注意反之不一定成立,即此时不能说 xj 由 xi 密度直达, 除非且 xi 也是核心对象。     4)密度可达:对于 xi 和 xj,如果存在样本样本序列 p1,p2,...,pT,满足 p1=xi,pT=xj, 且 pt+1 由 pt 密度直达,则称 xj 由 xi 密 度可达。也就是说,密度可达满足传递性。此时序列中的传递样本 p1,p2,...,pT?1 均为核心对象,因为只有核心对象才能使其他样本密度直达。注意 密度可达也不满足对称性,这个可以由密度直达的不对称性得出。     5)密度相连:对于 xi 和 xj,如果存在核心对象样本 xk,使 xi 和 xj 均由 xk 密度可达,则称 xi 和 xj 密度相连。注意密度相连关 系是满足对称性的。 3. DBSCAN 密度聚类思想     DBSCAN 的聚类定义很简单:由密度可达关系导出的最大密 度相连的样本集合,即为我们最终聚类的一个类别,或者说一个簇。     这个 DBSCAN 的簇里面可以有一个或者多个核心对象。如 果只有一个核心对象,则簇里其他的非核心对象样本都在这个核心 对象的 ?-邻域里;如果有多个核心对象,则簇里的任意一个核心对 象的 ?-邻域中一定有一个其他的核心对象,否则这两个核心对象无 法密度可达。这些核心对象的 ?-邻域里所有的样本的集合组成的一 个 DBSCAN 聚类簇。      4. DBSCAN 聚类算法     下面我们对 DBSCAN 聚类算法的流程做一个总结。     输入:样本集 D=(x1,x2,...,xm),邻域参数(?,MinPts), 样本距 离度量方式     输出: 簇划分 C.      1)初始化核心对象集合 Ω=?,  初始化聚类簇数 k=0,初始 化未访问样本集合 Γ = D, 簇划分 C = ?     2) 对于 j=1,2,...m, 按下面的步骤找出所有的核心对象:       a) 通过距离度量方式,找到样本 xj 的 ?-邻域子样本集 N?(xj)       b) 如果子样本集样本个数满足|N?(xj)|≥MinPts, 将样 本 xj 加入核心对象样本集合:Ω=Ω∪{xj}     3)如果核心对象集合 Ω=?,则算法结束,否则转入步骤 4.     4)在核心对象集合 Ω 中,随机选择一个核心对象 o,初始 化当前簇核心对象队列 Ωcur={o}, 初始化类别序号 k=k+1,初始化当 前簇样本集合 Ck={o}, 更新未访问样本集合 Γ=Γ?{o}     5)如果当前簇核心对象队列 Ωcur=?,则当前聚类簇 Ck 生 成完毕, 更新簇划分 C={C1,C2,...,Ck}, 更新核心对象集合 Ω=Ω?Ck , 转入步骤 3。     6)在当前簇核心对象队列 Ωcur 中取出一个核心对象 o′,通 过邻域距离阈值 ? 找出所有的 ?-邻域子样本集 N?(o′),令 Δ=N?(o′)∩Γ, 更新当前簇样本集合 Ck=Ck∪Δ, 更新未访问样本集合 Γ=Γ?Δ, Ωcur=Ωcur∪(N?(o′)∩Ω),转入步骤 5.     输出结果为: 簇划分 C={C1,C2,...,Ck} 二. 实验目标 算法:DBScan,基于密度的

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档