- 聚类算法的分类
- 衡量聚类算法优劣的标准:
(1)算法的处理能力:算法复杂度、噪声处理、任意形状处理、有间隙的嵌套数据的能力;
(2)是否需要预设条件:聚类个数、初始中心点、启发式规则等等;
(3)数据输入属性:数据输入顺序;数据维数;数据类型等等;
聚类分析的算法可以分为划分法(Partitioning Methods)、层次法(Hierarchical Methods)、基于密度的方法(density-based methods)、基于网格的方法(grid-based methods)、基于模型的方法(Model-Based Methods)以及其他聚类方法。
划分法:
- 核心思想:给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好,而所谓好的标准就是:同一分组中的记录越近越好,而不同分组中的纪录越远越好。
- 大白话解释:拿到一堆散点,首先确定散点要分成多少类,然后挑选几个点作为初始中心点,再根据启发式算法不断迭代,达到“类内点距离足够近、类外点距离足够远”的效果。最经典的算法就是K近邻。
- 主要算法:K-MEANS、K-MEDOIDS、CLARANS,k-prototypes、k-modes、CLARA、Focused CLARAN、PCM等。
- 优点:简单、可解释,易实现;时间复杂度低。
- 缺点:需要手工设置类的数量和初始中心点,如果设置不好容易影响聚类效果和聚类速度,(改进算法:k-means++、intellegent k-means、 genetic k-means);对噪声敏感,(改进算法:k-modoids、k-medians);只适合numerical类型数据,不适合categorical类型数据,(改进算法:k-modes);不能解决非凸数据,(改进算法:kernel k-means);主要发现圆形或球