gpt4 book ai didi

python - Python 中的球形 k-means 实现

转载 作者:太空狗 更新时间:2023-10-29 18:29:00 26 4
gpt4 key购买 nike

我一直在使用 scipy's k-means现在已经有一段时间了,我对它在可用性和效率方面的工作方式感到非常满意。但是,现在我想探索不同的 k-means 变体,更具体地说,我想申请 spherical k-means在我的一些问题中。

您知道球形 k 均值的任何良好 Python 实现(即类似于 scipy 的 k 均值)吗?如果不是,修改 scipy 的源代码以使其 k-means 算法适应球形有多难?

谢谢。

最佳答案

在球形 k-means 中,您的目标是保证中心位于球体上,因此您可以调整算法以使用余弦距离,并且还应该对最终结果的质心进行归一化。

当使用欧几里得距离时,我更愿意将算法视为在每次迭代中将聚类中心投影到单位球体上,即,在每个最大化步骤之后应该对中心进行归一化。

确实,当中心和数据点都归一化时,余弦距离和欧氏距离之间存在一对一的关系

|a - b|_2 = 2 * (1 - cos(a,b))

包裹jasonlaska/spherecluster将 scikit-learns 的 k-means 修改为 spherical k-means 并提供另一种球体聚类算法。

关于python - Python 中的球形 k-means 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19226925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com