k-means & isodata 聚类方法

k-means 方法和 isodata 方法应该是两种比较基本的聚类方法了。顾名思义, k-means 就是指定有 k 个类,然后通过初始中心迭代得到最后的 k 个中心。这个初始中心可以随便选也可以随机选,也可以只取前 k 个样本作为初始中心。聚类最后的结果与初始聚类中心的关系还是比较密切的,不同的初始中心可能会得到完全不同的结果。解决初始值问题的一种方法是 k-means++ 方法,这里就不再解释了,有兴趣的朋友可以参考本文最后的几个链接。

k-means 的一个缺点就是必须指定聚类的个数,这个有些时候并不太行得通。于是就要求最好这个类别的个数也可以改变,这就形成了 isodata 方法,通过设定一些类别分裂和合并的条件,在聚类的过程中自动增减类别的数目。当然这也带来了一个问题,就是这个条件有时候并不那么好给出。当然 isodata 在很多情况下还是可以得到比较靠谱的结果。

下面的图是这两种聚类方法的对比:

本文为原创,转载文章或图片请注明,本文地址:http://blog.csdn.net/houston11235/article/details/8511379

K-Means


ISODATA



通过上面两张图还是能看出一些区别的,我个人的感受就是初始的聚类中心如果靠近整个数据集的中心的话,结果可能会好一些。还有就是这种聚类受初始中心影响比较大,要想得到稳定的结果最好还是多运行几次,把每次都在一个类别里面的数据归为一个类。


参考链接:

1、K-Means算法

2、K-Means++

3、K-Means Wiki

4、K-Means Matlab code

5、ISODATA Matlab code

6、Another ISODATA's Matlab implementation, can hold N dimensional data


  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值