gpt4 book ai didi

python - 在 python 中使用 pdist() 和您定义的自定义距离函数

转载 作者:太空狗 更新时间:2023-10-30 01:57:45 24 4
gpt4 key购买 nike

我一直对 scipy.spatial.distance.pdist(...) 的用法感兴趣在 python 中,它对于我一直在处理的一些应用程序来说已经变得有用且快速。

我需要使用自定义的成对距离函数,而不是度量定义的标准默认距离度量。让我们做一个简单的例子,假设我不想使用 euclidean 距离函数如下:

 Y = pdist(X, 'euclidean')

相反,我想自己定义欧氏函数并将其作为函数或参数传递给 pdist()。如何将 euclidean 距离函数的实现传递给此函数以获得完全相同的结果。这个问题的答案,将帮助我以我感兴趣的方式使用该功能。

在 MATLAB 中,我知道如何使用 pdist(),在 Python 中我还不知道。谢谢你的建议

最佳答案

documentation for pdist 中有一个示例:

import numpy as np
from scipy.spatial.distance import pdist

dm = pdist(X, lambda u, v: np.sqrt(((u-v)**2).sum()))

如果你想使用常规函数而不是 lambda 函数,则等价物是

import numpy as np
from scipy.spatial.distance import pdist

def dfun(u, v):
return np.sqrt(((u-v)**2).sum())

dm = pdist(X, dfun)

关于python - 在 python 中使用 pdist() 和您定义的自定义距离函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36422949/

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