聚类算法K-MEDOIDSK-MEANS有其缺点:产生类的大小相差不会很大,对于脏数据很敏感
改进的算法:k—medoids 方法
这儿选取一个对象叫做mediod来代替上面的中心的作用,这样的一个medoid就标识了这个类
K-medoids和K-means不一样的地方在于中心点的选取,在K-means中,我们将中心点取为当前cluster中所有数据点的平均值,在 K-medoids算法中,我们将从当前cluster 中选取这样一个点——它到其他所有(当前cluster中的)点的距离之和最小——作为中心点
步骤:1,任意选取K个对象作为medoids(O1,O2,…Oi…Ok)
以下是循环的:2,将余下的对象分到各个类中去(根据与medoid最相近的原则);3,对于每个类(Oi)中,顺序选取一个Or,计算用Or代替Oi后的消耗—E(Or)
选择E最小的那个Or来代替Oi
这样K个medoids就改变了,下面就再转到2
4,这样循环直到K个medoids固定下来
这种算法对于脏数据和异常数据不敏感,但计算量显然要比K均值要大,一般只适合小数据量
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。