数据聚类: 层次聚类 hierarchical clustering,K-means, BFR, Cure algorithm, DBSCAN
发布时间
阅读量:
阅读量
层次聚类 hierarchical clustering
K-means聚类
BFR
K-means方法的改进算法。目的是为了解决在高维欧氏空间中对数据进行聚类时内存不够的问题。本算法可以用在分布式系统中,每次计算机只加载一部分数据,分多次加载。BFR算法同样需要在最开始的时候规定聚类质心数K。方法可以是先用层次聚类法确定最佳K值。
BFR算法使用前提:必须满足数据是以质心为期望的正态分布,且数据的不同维度互相独立。
首先计算机初始化三个集合:
- 废弃集Discard Set,已经形成了簇(cluster), 已经分配给某个质心。废弃集只保留簇的简单概要信息,而将概要代表的点废弃了。
- 压缩集Compression Set,已经聚合了的点集,但是尚未分配给某个质心。压缩集所代表的的点也被废弃,只保留点集的概要信息。压缩集通常被称为迷你簇(minicluster)
- 留存集Retained Set,用于存储离散的尚未被聚合的点。
压缩集与废弃集中点集的表现形式

算法步骤:
每次加载一块数据,直到将每块数据全部加载处理完成:
- 将数据分块载入,将“充分接近”(马氏距离,见下)簇质心的点加入到该簇,重新计算簇概要信息(N-Sum-SumSQ)
- 剩下的点与之前留存集中的点进行聚类,聚类完成的点加入压缩集。
- 将压缩集中可以合并的迷你簇合并。
- 如果是最后一块数据,将留存集中的点就近分配给簇,将压缩集中迷你簇与

The CURE algorithm
(Clustering Using Representatives)将K-means算法拓展到可以聚合任意形状的数据。
前提:
- 假设你可以计算任意两点间欧几里得距离。
- 簇cluster可以是任何形状,包括环形,无需满足正态分布。
- 用一些点来代表簇,而不是一个点。(这是CURE算法的优势)
算法实现步骤:

DBSCAN聚类算法
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法。
DBSCAN聚类算法——机器学习(理论+图解+python代码)
全部评论 (0)
还没有任何评论哟~
