2016-09-23 89 views
0

我正在使用函数kmeans来执行K均值聚类。我可以使用kmeans函数的自定义距离度量吗?

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

我可以将(1)自定义距离度量函数和(2)自定义均值函数应用于kmeans函数吗?

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

回答

0

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

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

请注意,有非常多的知道其他距离和手段已知总是收敛良好的已知组合。布莱克曼散度应该没问题,而余弦相当于球体上的欧几里德平方,所以它也可以工作。

相关问题