首页 > 代码库 > RRC聚类算法

RRC聚类算法

(原创文章,转载请注明出处!)

RRC(recursive rectangular clustering)的基本思想是通过递归的对包含所有样本点的局域进行矩形分割来达到对数据聚类的目的。算法来至文章Eigentaste: A Constant Time Collaborative Filtering Algorithm。

算法步骤(以二维空间为例):

1. 确定将所有样本点包含在内的最小矩形。

2. 将所得的最小矩形,长和宽的中点连线,把矩形划分成四等分

3. 将四个子矩形,依据步骤2中方法再划分成四等分

4. 将靠近最下矩形中心的四个更小的子矩形,使用步骤2中的方法划分成四等分

5. 迭代步骤4,直到满足收敛条件。迭代结束后,每个子矩形是一个聚类。

看一下Eigentaste文章中的图,就一目了然了:

收敛条件:相邻两次迭代的样本点到相应的聚类中心的距离平方和之差小于给定的常数,比如:0.001 。

(在样本点分布较集中的情况下,可以考虑使用RRC。)

RRC聚类算法