聚类分析是在没有给定划分类别的情况下,根据数据相似度进行样本分组的一种方法。与分类模型需要使用有类标记样本构成的训练数据不同,聚类模型可以建立在无类标记的数据上,是一种非监督的学习算法。聚类的输入是一组未被标记的样本,聚类根据数据自身的距离或相似度将其划分为若干组,划分的原则是组内距离最小化而组件(外部)距离最大化。
常用聚类方法
类别 |
包括的主要算法 |
划分(分裂)方法 |
K-Means算法(K-平均)、K-MEDOIDS算法(K-中心点)、CLARANS算法(基于选择的算法) |
层次分析方法 |
BIRCH算法(平衡迭代规约和聚类)、CURE(代表点聚类)、CHAMELEON算法(动态模型) |
基于密度的方法 |
DBSCAN算法(基于高密度连接区域)、DENCLUE算法(密度分布函数)、OPTICS算法(对象排序识别) |
基于网格的方法 |
STING算法(统计信息网络)、CLIOUE算法(聚类高维空间)、WAVE-CLUSTER算法(小波变换) |
基于模型的方法 |
统计学方法,神经网络方法 |
常用聚类分析算法
算法名称 |
算法描述 |
K-Means |
K-均值聚类也称为快速聚类法,在最小化误差函数的基础上将数据划分为预定的类数K。该算法原理简单并便于处理大量数据。 |
K-中心点 |
K-均值算法对孤立点的敏感性,K-中心点算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心 |
系统聚类 |
系统聚类也称为多层次聚类,分类的结构由高到低呈树形结构,并且所处的位置越低,其所包含的对象就越少,但这些对象间的共同特征越多。该聚类方法只适合在小数据量时候使用,数据量大的时候速度会非常慢。 |