【发布时间】:2021-05-20 01:28:43
【问题描述】:
我的目标是在 Julia 中从 SciPy 复制 pdist() 的功能。
我尝试使用Distances.jl 包对观测值之间的距离进行成对计算。但是,结果与下面提到的示例不同。
Python 示例:
from scipy.spatial.distance import pdist
a = [[1,2], [3,4], [5,6], [7,8]]
b = pdist(a)
print(b)
output --> array([2.82842712, 5.65685425, 8.48528137, 2.82842712, 5.65685425, 2.82842712])
朱莉娅示例:
using Distances
a = [1 2; 3 4; 5 6; 7 8]
dist_function(x) = pairwise(Euclidean(), x, dims = 1)
dist_function(a)
output -->
4×4 Array{Float64,2}:
0.0 2.82843 5.65685 8.48528
2.82843 0.0 2.82843 5.65685
5.65685 2.82843 0.0 2.82843
8.48528 5.65685 2.82843 0.0
参考以上例子:
- python 中
pdist()来自SciPy的度量值是否默认设置为Euclidean()? - 我该如何解决这个问题,以便在 Julia 中复制结果?
请提出解决此问题的解决方案。
pdist() 的文档参考:--> https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html
提前致谢!!
【问题讨论】:
标签: scipy julia pairwise-distance