scipy.spatial.distance.

minkowski#

scipy.spatial.distance.minkowski(u, v, p=2, w=None)[источник]#

Вычисление расстояния Минковского между двумя одномерными массивами.

Расстояние Минковского между 1-D массивами u и v, определяется как

\[ \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,) array_like

Входной массив.

v(N,) array_like

Входной массив.

pскаляр

Порядок нормы разности \({\|u-v\|}_p\). Обратите внимание, что для \(0 < p < 1\), неравенство треугольника выполняется только с дополнительным мультипликативным коэффициентом, т.е. это лишь квазиметрика.

w(N,) array_like, optional

Веса для каждого значения в u и v. По умолчанию None, что присваивает каждому значению вес 1.0

Возвращает:
minkowskidouble

Расстояние Минковского между векторами u и v.

Примеры

>>> 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