聚类方法的基本介绍
聚类是将数据对象的集合分成相似的对象类的过程。使得同一个簇(或类)中的对象之间具有较高的相似性,而不同簇中的对象具有较高的相异性。
聚类的一般过程为:
按照聚类分析方法的主要思路,聚类可以归纳为以下几种
方法 | 算法举例 |
---|---|
划分法 | k-means、k-中值 |
层次法 | DIANA、AGNES、BIRCH、CURE、ROCK |
密度法 | DBSCAN、OPTICS、 |
网格法 | STING、WaveCluster、CLIQUE |
模型法 | EM、COBWEB、 |
本篇文章所讲的WHERE 算法属于基于划分的聚类。
WHERE
WHERE 方法对于高维(特征属性个数>2)的数据,首先会进行降维处理,将高维数据映射到二维空间。该映射过程为:
- 从数据集中随机找到一个实例Z
- 找到距离Z最远的实例X
- 再找到距离X最远的实例Y
找到了上述3个点后,便可以得到一个固定的距离 X Y ‾ \overline{XY} XY,记为c。此后,对于数据集中的任一样本实例,都可以计算出其与X、Y的距离,记为a、b。现在便可以用余弦公式得到样本实例的二维坐标点(x, y)
x = ( a 2 + c 2 − b 2 ) / ( 2 c ) y = a 2 − x 2 x = \left(a^2 + c^2 - b^2\right) / \left(2c\right)\\y = \sqrt{a^2 - x^2} x=(a2+c2−b2)/(2c)y