我可以使用自定义距离测量kmeans功能吗?

时间:2016-09-23 14:31:20

标签: r k-means

我正在使用函数kmeans来完成K-means聚类。

我有一个需要自定义距离测量功能和自定义平均功能的特殊数据。

我可以将(1)自定义距离测量功能和(2)自定义均值函数放入kmeans函数吗?

它似乎只使用欧几里德测量。

1 个答案:

答案 0 :(得分:0)

标准kmeans不允许这样做,原因很充分。它使用了一些聪明的算法(Hartigan和Wong;这就是为什么它比其他大约100个R包中的标准Lloyd教科书算法更快 )。但这些仅适用于具有平方偏差的经典k均值方案(这意味着将每个聚类分配到欧几里得最近的中心,但它实际上优化了最小二乘,而不是欧氏距离)。

我怀疑你可以简单地将其他距离和质心函数插入到Hartigan和Wong方法中(除了它是用Fortran编写的,所以你不能只在那里插入R函数)。

请注意,已知的很少已知组合,其中已知其他距离和方法总是很好地收敛。布雷格曼的分歧应该没问题,而余弦相当于球体上的欧几里德平方,所以它也会起作用。