DBSCAN聚类算法概述:
DBSCAN属于密度聚类算法,把类定义为密度相连对象的最大集合,通过在样本空间中不断搜索最大集合完成聚类。
DBSCAN能够在带有噪点的样本空间中发现任意形状的聚类并排除噪点。
DBSCAN算法不需要预先指定聚类数量,但对用户设定的参数非常敏感。
当空间聚类的密度不均匀、聚类间距差相差很大时,聚类质量较差。
DBSCAN算法基本概念:
核心对象:如果给定对象的半径eps邻域内样本数量超过阈值min_samples,则称为核心对象。
边界对象:在半径eps内点的数量小于min_samples,但是落在核心点的邻域内。
噪声对象:既不是核心对象也不是边界对象的样本。
直接密度可达:如果对象q在核心对象p的eps邻域内,则称q从p出发是直接密度可达的。
密度可达:集合中的对象链p1、p2、p3、...、pn,如果每个对象pi+1从pi出发都是直接密度可达的,则称pn从p1出发是密度可达的。
密度相连:集合中如果存在对象o使得对象p和q从o出发都是密度可达的,则称对象p和q是互相密度相连的。
DBSCAN聚类算法工作过程:
1)定义邻域半径eps和样本数量阈值min_samples。
2)从样本空间中抽取一个尚未访问过的样本p。
3)如果样本p是核心对象,进入第4)步;否则返回第2)步。
4)找出样本p出发的所有密度可达对象,构成一个聚类Cp(该聚类的边界对象都是非核心对象),并标记这些对象为已访问。
5)如果全部样本都已访问,算法结束;否则返回第2)步。
Python+sklearn使用DBSCAN聚类算法参考代码:
聚类结果图一:
聚类结果图二:
聚类结果图三:
----------相关阅读----------
1900页Python系列PPT分享一:基础知识(106页)
1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)
1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)
1900页Python系列PPT分享四:字符串与正则表达式(109页)
1900页Python系列PPT分享五:函数设计与应用(134页)
1900页Python系列PPT分享六:面向对象程序设计(86页)
1900页Python系列PPT分享七:文件操作(132页)
报告PPT(163页):基于Python语言的课程群建设探讨与实践
KNN分类算法原理与Python+sklearn实现根据身高和体重对体型分类
使用线性回归拟合平面最佳直线及预测之Python+sklearn实现
Python+tensorflow计算整数阶乘的方法与局限性
Python使用tensorflow中梯度下降算法求解变量最优值
Python+pandas+matplotlib数据分析与可视化案例(附源码)
几行Python代码生成饭店营业额模拟数据并保存为CSV文件
Python使用pandas扩展库DataFrame对象的pivot方法对数据进行透视转换
Python使用pandas读取Excel文件数据和预处理小案例
使用Python内置集合对象和内置函数filter()过滤无效书评
Python数据分析扩展库pandas的DataFrame排序方法小结
淡定!不要因为纳入了高考和二级考试甚至极个别小学课程就盲目夸大Python!
----------喜大普奔----------
1、董付国老师Python系列教材:
《Python程序设计基础》
《Python程序设计(第2版)》
《Python可以这样学》(本书已被引入台湾发行繁体版)
《Python程序设计开发宝典》
《中学生可以这样学Python》
董付国老师6本Python系列教材被北大、复旦等近百所高校选作教材
2、董老师免费视频地址: https://pan.baidu.com/s/1jJeAs8Q 密码: px59