聚类分析是无监督学习的一种方法,其目标是:使簇内数据之间具有高的相似性,不同簇数据之间具有高的差异性。
经典聚类算法分类:
- 划分方法:对于给定的n个对象的数据集D,以及簇的数目k,划分算法将对象组织为k个划分。每个划分代表一个簇,使得“簇内相似性高,簇间相似性低”的划分作为最后的聚类结果,例如Kmeans。
- 层次聚类方法:将数据对象建立一棵聚类树,树的简历策略有自底向上的策略(把小的类别逐渐合并为大的类别,这种方法称为凝聚)和自顶向下的策略(把大的类别逐渐分裂为小的类别,这种方法称为分裂)。在层次聚类的实际应用中,聚类通常终止于某个预先设定的条件,比如簇的数目达到某个预定的值,或者每个簇的直径都在某个阈值之内。
- 基于密度的聚类方法:将簇看作数据空间中被低密度区域分给开的稠密的对象区域,有时也将这种低密度区域看作噪声。比如DBSCAN方法。
基于密度的簇,是基于密度可达性的最大密度相连对象的集合,不包含在任何簇中的对象被认为是噪声。因此DBSCAN可以在一定的程度上检测出噪声。
第二点强调的是如何能够判定一个簇中含有哪些对象,判定的是寻找核心对象,利用密度可达,来把新的对象加入到某一个簇当中。注意要聚集小簇。
DBSCAN的计算复杂度为O(n^2),在使用空间索引的数据库