Yas*_*Yas 5 python distance scipy
我一直对scipy.spatial.distance.pdist(...)python的使用感兴趣,这对我一直在研究的一些应用程序来说非常有用和快速.
我需要使用成对距离函数,它是自定义的而不是由度量定义的标准默认距离度量.让我们举一个简单的例子,假设我不想使用euclidean距离函数,如下所示:
Y = pdist(X, 'euclidean')
Run Code Online (Sandbox Code Playgroud)
相反,我想自己定义欧几里德函数并将其作为函数或参数传递给pdist().如何将euclidean距离函数的实现传递给此函数以获得完全相同的结果.这个问题的答案将帮助我以我感兴趣的方式使用该功能.
在MATLAB中,我知道如何在python中使用`pdist()',我还没有.谢谢你的建议
Pel*_*son 11
文档中pdist有一个示例:
import numpy as np
from scipy.spatial.distance import pdist
dm = pdist(X, lambda u, v: np.sqrt(((u-v)**2).sum()))
Run Code Online (Sandbox Code Playgroud)
如果你想使用常规函数而不是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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7602 次 |
| 最近记录: |