2019.7.16

CLARANS

       CLARANS是分割方法中基于随机搜素的大型应用聚类算法,该算法是一种改进的K-MEDOID方法。与以前的k-Medoid算法相比,Clarans更有效。更有效率。实验结果表明,CLARANS能在数千个对象的数据库上高效运行。

       它首先随机选择一个点作为当前点,然后随机检查它周围不超过参数Maxneighbor 个的一些邻接点,假如找到一个比它更好的邻接点,则把它移人该邻接点,否则把该点作为局部最小量。然后再随机选择一个点来寻找另一个局部最小量,直至所找到的局部最小量数目达到用户要求为止。该算法要求聚类的对象必须都预先调人内存,并且需多次扫描数据集,这对大数据量而言,无论时间复杂度还是空间复杂度都相当大。虽通过引人R-树结构对其性能进行改善,使之能够处理基于磁盘的大型数据库,但R*-树的构造和维护代价太大。该算法计算效率低下,且对脏数据和异常数据不敏感,但对数据输入顺序异常敏感,且只能处理凸形或球形边界聚类。

       算法步骤:

       第 1 步:输入参数numlocal 和maxneighbor。
  第 2 步:从 n 个目标中随机地选取k 个目标构成质心集合,并令它们作为current。
  第 3 步:令 j 等于1。
  第 4 步:从第 2 步中剩下的n–k 个目标集中随机选取一个目标,并用之替换质心集合中随机的某一个质心可得到一个新的质心集合,计算两个质心集合的代价差(这一点和PAM相似,只是变成了随机选取替换对象和被替换对象)。
  第 5 步:如果新的质心集合代价较小则将其赋给current,重置j=1,否则j+=1。
  第 6 步:直到j大于等于maxneighbor,则current为此时的最小代价质心集合。
  第 7 步:重复以上步骤numlocal次,取其中代价最小的质心集合为最终质心集合。
  第 8 步:按照最终质心集合进行划分并输出。

发布了3 篇原创文章 · 获赞 0 · 访问量 182

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览