天天看点

数据挖掘聚类算法之K-MEDOIDS

数据挖掘聚类算法之K-MEDOIDS

     k-means顾名思义k-均值,通过计算一类记录的均值来代表该类,但是受异常值或极端值的影响比较大,这里介绍另外一种算法k-medodis。看起来和k-means比较相似,但是k-medoids和k-means是有区别的,不一样的地方在于中心点的选取,在k-means中,我们将中心点取为当前cluster中所有数据点的平均值,在  k-medoids算法中,我们将从当前cluster  中选取这样一个点——它到其他所有(当前cluster中的)点的距离之和最小——作为中心点。

数据挖掘聚类算法之K-MEDOIDS
数据挖掘聚类算法之K-MEDOIDS

k-means算法的缺点:

产生类的大小相差不会很大,对于脏数据很敏感。

改进的算法:k-medoids方法。

这儿选取一个对象叫做mediod来代替上面的中心的作用,这样的一个medoid就标识了这个类。

k-medodis的具体流程如下:

1)任意选取k个对象作为medoids(o1,o2,…oi…ok)。  

2)将余下的对象分到各个类中去(根据与medoid最相近的原则);  

3)对于每个类(oi)中,顺序选取一个or,计算用or代替oi后的消耗—e(or)。选择e最小的那个or来代替oi。这样k个medoids就改变了。

4)重复2、3步直到k个medoids固定下来。  

不容易受到那些由于误差之类的原因产生的脏数据的影响,但计算量显然要比k-means要大,一般只适合小数据量。

<b>原文发布时间为:2013-08-4</b>

<b></b>

<b>本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“bigdatadigest”微信公众号</b>

继续阅读