美文网首页
聚类算法DBSCAN

聚类算法DBSCAN

作者: taon | 来源:发表于2019-06-23 20:14 被阅读0次

DBSCAN:Density-Based Spatial Clustering of Applications with Noise,基于密度和带有噪声点的聚类。
DBSCAN算法与K-MEANS算法一样,没有数学原理上的推导,理解起来比较容易。K-MEANS算法可以处理简单的数据集,对于复杂数据集的分类效果并不好,DBSCAN则可以处理更为复杂的数据集。
1.DBSCAN基本概念
1.核心对象:若某个点的密度达到算法设定的阈值则其为核心点。(即r邻域内点的数量不小于minPts)。假设r = 10,minPts = 4,如果a点的r范围内的点的数量>=4,则a点可以称之为核心点。
2.直接密度可达:若某点p在q的r邻域内,且q是核心点,则p-q为直接密度可达。
3.密度可达:若有一个点的序列q0、q1......qk,对任意qi - qi-1是直接密度可达的,则称q0 - qk是密度可达。
4.密度相连:若从某核心点出发,点q和k是密度可达的,则称点q和点k是密度相连的。
5.边界点:属于某一个类的非核心点,它的r邻域内点的数量小于minPts。
6.噪音点:不属于任何一个类簇的点,从任何一个核心点出发都是密度不可达的。
下图中,A为核心点,B,C为边界点,N为离群点(噪音点)。

点的分类.png
2.DBSCAN算法的工作流程
先找到第一个核心点A(符合r邻域minPts的要求),然后查找A的r邻域中的其他点是不是核心点,如果是继续向外扩散,直到所有点都无法向外扩散,则这组数据就为同一类。
3.DBSCAN API文档
sklearn.cluster.DBSCAN(eps=0.5, min_samples=5, metric='euclidean', algorithm='auto', 
leaf_size=30, p=None, random_state=None)

关键参数说明:


eps:浮点型数值,默认为0.5,eps就是我们所说的r邻域(r半径)。
min_samples:整型,默认为5,样本点个数。


4.DBSCAN 算法样例演示

from numpy as np
from sklearn.cluster import DBSCAN

#随机创建一些样本点
X = np.array([[1,6],[2,4],[7,2],[8,5],[9,3],[5,3]])
db = DBSCAN(eps=3,min_samples=5).fit(X)
db.labels_
[0, 0, 1, 1, 1, 1]

#使用db算法对未知数据进行分类
db.fit_predict([[1,4]])
[-1]

5.聚类算法的模型评估
轮廓系数:

轮廓系数.png
代码实现:
from sklearn.metrics import silhouette_score
#labels为分类的结果
score = silhouette_score(X,labels)

相关文章

  • 13 聚类算法 - 谱聚类

    11 聚类算法 - 密度聚类 - DBSCAN、MDCA12 聚类算法 - 代码案例五 - 密度聚类(DBSCAN...

  • Clustering

    本文结构安排 经典聚类算法:线性聚类 Kmeans 经典聚类算法:非线性聚类 DBSCAN、谱聚类 新兴聚类算法:...

  • 聚类算法总结

    1、K 均值聚类 2、凝聚聚类 3、DBSCAN 算法 4、聚类算法的评估

  • CH8 Clustering

    K-means Cluster 4、DBSCAN算法的聚类过程 DBSCAN算法基于一个事实:一个聚类可以由其中的...

  • 简单聚类算法

    一些聚类算法 Birch层次聚类 ,KMeans原形算法 ,AGNES层次算法, DBSCAN密度算法, LVQ原...

  • 无监督学习 - 聚类 - DBSCAN

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

  • 大数据--聚类算法

    本篇结构 简介 聚类算法的分类 K-Means聚类算法 DBSCAN聚类算法 本篇介绍了聚类算法的种类,重点关注K...

  • 机器学习 - DBSCAN聚类算法

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

  • 2019-03-17派森学习第119天

    DBSCAN聚类算法 DBSCAN实验网站 半径设置过小: 半径稍微设置大一些,就比较好了: 各种聚类算法准确度对...

  • 机器学习(七) 聚类之DBSCAN

    针对聚类K-means算法中不能对特定形状的样本进行分类,提出了一种新的聚类算法(DBSCAN)。DBSCAN 是...

网友评论

      本文标题:聚类算法DBSCAN

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