修改R中的k-means包

时间:2014-11-27 05:32:14

标签: r cluster-analysis k-means

是否可以修改kmeans包中的距离概念?

我有周期性数据,并希望使用替代的距离概念。

1 个答案:

答案 0 :(得分:0)

K-means 不应与其他距离一起使用。 不是基于距离的算法。 K-means正在优化平方和。如果你想要一个适当的基于距离的k均值变化,它就叫做PAM。 PAM是将k-means与其他距离函数一起使用的正确方法

因为均值是最小二乘估计,所以它只会优化平方和。

如果将不同的距离函数放入k-means,它可能会停止收敛。这是一个反例:

考虑绝对相关距离。两个系列

+1 +2 +3 +4 +5
-1 -2 -3 -4 -5

完全负相关,因此它们具有绝对相关距离0。

取这两个载体的平均值

 0  0  0  0  0

不再真正定义相关性。如果你略微摆动数字,你可以避免这个定义差距,但是矢量与它们的平均值不同。因为平均值优化了平方偏差,并没有找到最佳相关中心。

重点是平均值。如果你想使用不同的距离函数,你也也需要替换均值函数。一种可能的选择是medoid,它产生PAM(在Medoids周围分区)。