聚类算法的种类:
基于划分聚类算法(partition clustering)
k-means: | 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据 |
k-modes: | K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度 |
k-prototypes: | 结合了K-Means和K-Modes两种算法,能够处理混合型数据 |
k-medoids: | 在迭代过程中选择簇中的某点作为聚点,PAM是典型的k-medoids算法 |
CLARA: | CLARA算法在PAM的基础上采用了抽样技术,能够处理大规模数据 |
CLARANS: | CLARANS算法融合了PAM和CLARA两者的优点,是第一个用于空间数据库的聚类算法 |
Focused CLARAN: | 采用了空间索引技术提高了CLARANS算法的效率 |
PCM: | 模糊集合理论引入聚类分析中并提出了PCM模糊聚类算法 |
基于层次聚类算法:
CURE: | 采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类 |
ROCK: | 也采用了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响 |
CHEMALOEN(变色龙算法): | 首先由数据集构造成一个K-最近邻图Gk ,再通过一个图的划分算法将图Gk 划分成大量的子图,每个子图代表一个初始子簇,最后用一个凝聚的层次聚类算法反复合并子簇,找到真正的结果簇 |
SBAC: | SBAC算法则在计算对象间相似度时,考虑了属性特征对于体现对象本质的重要程度,对于更能体现对象本质的属性赋予较高的权值 |
BIRCH: | BIRCH算法利用树结构对数据集进行处理,叶结点存储一个聚类,用中心和半径表示,顺序处理每一个对象,并把它划分到距离最近的结点,该算法也可以作为其他聚类算法的预处理过程 |
BUBBLE: | BUBBLE算法则把BIRCH算法的中心和半径概念推广到普通的距离空间 |
BUBBLE-FM: | BUBBLE-FM算法通过减少距离的计算次数,提高了BUBBLE算法的效率 |
基于密度聚类算法:
DBSCAN: | DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发 |