栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

DBSCAN介绍-hzsf

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DBSCAN介绍-hzsf

1、介绍一下算法

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

1)基本概念:(Density-based Spatial Clustering of Applications with Noise)

(比k-means和一些其他聚类方法强)

核心对象:若某个点的密度达到算法设定的阈值则其为核心点

(即r领域内点的数量不小于minPts)

个人理解:以该点为中心画圆,圆内的点大于minPts,那么这个点就是核心对象

ε-邻域的距离阈值:设定的半径r

dbscan与k-means不同的地方是我们不需要设置k值

密度直达:若某点p在点q的r邻域内,且q是核心点则p-q直接密度可达

密度可达:若有一个点的序列q0、q1...qk,对任意的qi-qi-1是直接密度可达的,则称从q0到qk密度可达,这实际上是直接密度可达的“传播”

密度相连:若从某核心点p出发,点q和点k都是密度可达的,则称点q和点k是密度相连的

边界点:属于某一类的非核心点,不能发展下线了

噪声点:不属于任何一个类簇的点,从任何一个核心点出发都是密度不可达

2)工作流程

参数D:输入数据集

参数:指定半径

MinPts:密度阈值

2、说一下参数的选择(2)

1)半径:可以根据k距离来设定:找突变点。 K距离:给定数据集p={p(i);i=0,1,…,n},计算点p(i)到集合D的子集S中所有点之间的距离,距离按照从小到大的顺序排序,d(k)就被称为k距离。

2)MinPts:k距离中k的值,一般取的小一些,多次尝试。

可视化星展集群 (naftaliharris.com)

可以通过定义不同的半径与MinPts来看不同数据的聚类效果

3、优劣势

(1)优势 ①不需要指定簇的个数; ②可以对任意形状的稠密数据集进行聚类; ③擅长找到离群点(检测任务); ④两个参数ε和minPts就够了; (2)劣势 ①高维数据有些困难(可以做降维); ②参数难以选择(参数对结果的影响非常大); ③Sklearn中效率很慢(数据削减策略);

sklearn是一个Python第三方提供的非常强力的机器学习库,它包含了从数据预处理到训练模型的各个方面。

老师提问:为什么不适合稀疏的数据

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294447.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号