算法流程
(1)圆心标记为聚类点画圈+判断临近点是否列入种子队列
如下图中点5就是噪声点
(2)依次遍历所有种子点
- 首先标记点4为聚类点
- 然后画圈数临近点个数,判断临近点个数大于/小于min_points
- 临近点个数大于min_points则添加到种子队列
(3) 重复步骤2,直到遍历完所有的种子点
2.处理点9
首先标记点9为聚类点,seeds = [4,7,9,10,1,7,9,16]
然后以点9为中心画一个圈。点9周围有1,4,3三个数,min_points=3所以可以添加到种子队列里,添加1,4,3点,种子更新为seeds = [4,7,9,10,1,7,9,16,1,4,3]
3.处理点10
首先标记点10为聚类点
然后画圈数数,点10的周围有点1,6,7
4.继续顺序处理后面的点
(4) 标记完一簇后(红色的为一簇),寻找一个未被标记的点,开始新的一轮聚类

编程实现 源码下载
聚类效果:
源码下载地址:
本资源包含本文聚类算法代码实现的源码,此外,还有数据分析综合课程设计,包含:sir过程模拟与节点排序、用k-means和dbscan算法对银行数据进行聚类并完成用户画像、决策树与随机森林、基于奇异值分解的评分预测算法实现
发表评论