我被要求使用曼哈顿距离来平分kmeans而不是Spark中的欧几里德距离。我尝试更改它并使用代码。但由于各种私有声明和现有代码的范围有限,我无法创建完整的解决方案。有人帮助我以其他方式做到了吗?
答案 0 :(得分:1)
有一个很好的理由为什么Spark选择欧几里德距离而不提供一种简单的方法来覆盖它。您应该知道 k-means是为欧氏距离设计的。当均值不再是群集的最佳估计时,它可能会停止收敛到其他距离函数的最优值"质心"。请参阅下面的论文。 http://research.ijcaonline.org/volume67/number10/pxc3886785.pdf
以下是论文的结论:
作为结论,K-means,使用欧几里德实现 距离度量给出最佳结果,K-means基于曼哈顿 距离度量的表现最差。