scipy.spatial.distance.

闵可夫斯基#

scipy.spatial.distance.minkowski(u, v, p=2, w=None)[源代码][源代码]#

计算两个一维数组之间的闵可夫斯基距离。

1-D 数组 uv 之间的闵可夫斯基距离定义为

\[ \begin{align}\begin{aligned}{\|u-v\|}_p = (\sum{|u_i - v_i|^p})^{1/p}.\\\left(\sum{w_i(|(u_i - v_i)|^p)}\right)^{1/p}.\end{aligned}\end{align} \]
参数:
u(N,) 数组类

输入数组。

v(N,) 数组类

输入数组。

p标量

差值的范数顺序 \({\|u-v\|}_p\)。注意对于 \(0 < p < 1\),三角不等式仅在附加乘法因子的情况下成立,即它仅是一个拟度量。

w(N,) 数组类,可选

uv 中每个值的权重。默认是 None,即每个值的权重为 1.0。

返回:
闵可夫斯基

向量 uv 之间的闵可夫斯基距离。

示例

>>> from scipy.spatial import distance
>>> distance.minkowski([1, 0, 0], [0, 1, 0], 1)
2.0
>>> distance.minkowski([1, 0, 0], [0, 1, 0], 2)
1.4142135623730951
>>> distance.minkowski([1, 0, 0], [0, 1, 0], 3)
1.2599210498948732
>>> distance.minkowski([1, 1, 0], [0, 1, 0], 1)
1.0
>>> distance.minkowski([1, 1, 0], [0, 1, 0], 2)
1.0
>>> distance.minkowski([1, 1, 0], [0, 1, 0], 3)
1.0