美文网首页
基于密度的聚类

基于密度的聚类

作者: Neural_PDE | 来源:发表于2021-02-06 08:39 被阅读0次

基于密度的聚类

前边的k-Means和k-Mediods算法比较适用于簇为球型的,对于非球型的,一般需要基于密度的聚类,比如DBSCAN

要了解DBSCAN,我们需要知道几个基本概念

r-邻域:给定点半径为r的区域。
核心点:如果一个点的r邻域内最少包含M个点,则该点称为核心点。
直接密度可达:对于核心点P而言,如果另一个点O在P的r邻域内,那么称O为P的直接密度可达点。
密度可达:对于P的直接密度可达点O的r邻域内,如果包含另一个点Q,那么称Q为P的密度可达点。
密度相连:如果Q和N都是核心点P的密度可达点,但是并不在一条直线路径上,那么称两者为密度相连。
算法思想:

指定R和M。
计算所有的样本点,如果点p的r邻域内有超过M个点,那么创建一个以P为核心点的新簇。
反复寻找这些核心点的直接密度可达点(之后可能是密度可达),将其加入到相应的簇,对于核心点发生密度相连的情况加以合并。
当没有新的点加入到任何簇中时,算法结束。
优点:

(1)聚类速度快且能够有效处理噪声点和发现任意形状的空间聚类;
(2)与K-MEANS比较起来,不需要输入要划分的聚类个数;
(3)聚类簇的形状没有偏倚;
(4)可以在需要时输入过滤噪声的参数。
缺点:
(1)当数据量增大时,要求较大的内存支持I/O消耗也很大;
(2)当空间聚类的密度不均匀、聚类间距差相差很大时,聚类质量较差,因为这种情况下参数MinPts和Eps选取困难
(3)算法聚类效果依赖与距离公式选取,实际应用中常用欧式距离,对于高维数据,存在“维数灾难”。

#---基于密度的聚类分析
library(fpc)
iris2<-iris[-5]
ds<-dbscan(iris2,eps=0.42,MinPts = 5)
table(ds$cluster,iris$Species)
 
#打印出ds和iris2的聚类散点图
plot(ds,iris2)
#打印出iris第一列和第四列为坐标轴的聚类结果
plot(ds,iris2[,c(1,4)])

#另一个表示聚类结果的函数,plotcluster
plotcluster(iris2,ds$cluster)

相关文章

  • 基于密度的聚类方法

    基于密度的聚类方法的主要目标是寻找被低密度区域分离的高密度区域。 与基于距离的聚类算法不同的是,基于距离的聚类算法...

  • 机器学习 - DBSCAN聚类算法

    1. DBSCAN简介 密度聚类 (亦称基于密度的聚类算法,density-based clustering)算法...

  • 基于Storm的海量数据实时聚类

    title:基于Storm的海量数据实时聚类 contribution 本文提出的聚类方案是基于DBSCAN密度聚...

  • 【R语言 第2篇】K-means聚类分析流程

    聚类算法是没用因变量的。聚类算法有层次聚类、基于划分的聚类、两步聚类法、基于密度的聚类。 聚类方法的逻辑 客户细分...

  • 空间聚类算法简述

    空间数据聚类算法主要包括四大类:(1)给予划分的聚类;(2)基于层次的聚类;(3)基于密度的聚类;(4)基于网格的...

  • DBSCAN算法原理

    1. 密度聚类原理 DBSCAN是一种基于密度的聚类算法,这类密度聚类算法一般假定类别可以通过样本分布的紧密程度...

  • 基于密度的聚类

    基于密度的聚类 前边的k-Means和k-Mediods算法比较适用于簇为球型的,对于非球型的,一般需要基于密度的...

  • 无监督学习 - 聚类 - DBSCAN

    DBSCAN密度聚类DBSCAN算法是一种基于密度的聚类算法: 聚类的时候不需要预先指定簇的个数 最终的簇个数不定...

  • 机器学习--K-means算法优化

    主要的聚类算法可以划分为如下几类:划分方法、层次方法、基于密度的方法、基于网格的方法以及基于模型的方法。目前,聚类...

  • 机器学习学习笔记--DBSCAN算法

    DBSCAN算法是基于密度的聚类算法,与划分和层次聚类方法不同,簇被定义为密度相连的点的最大集合 能够巴足够高密度...

网友评论

      本文标题:基于密度的聚类

      本文链接:https://www.haomeiwen.com/subject/fdavaktx.html