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 步:按照最终质心集合进行划分并输出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值