scipy.spatial.distance.

mahalanobis#

scipy.spatial.distance.mahalanobis(u, v, VI)[源代码]#

计算两个一维数组之间的马氏距离。

一维数组 uv 之间的马氏距离定义为

\[\sqrt{ (u-v) V^{-1} (u-v)^T }\]

其中 V 是协方差矩阵。注意参数 VIV 的逆矩阵。

参数:
u(N,) array_like

输入数组。

v(N,) array_like

输入数组。

输入数组。

VIarray_like

协方差矩阵的逆矩阵。
返回:

mahalanobisdouble

向量 uv 之间的马氏距离。

>>> from scipy.spatial import distance
>>> iv = [[1, 0.5, 0.5], [0.5, 1, 0.5], [0.5, 0.5, 1]]
>>> distance.mahalanobis([1, 0, 0], [0, 1, 0], iv)
1.0
>>> distance.mahalanobis([0, 2, 0], [0, 1, 0], iv)
1.0
>>> distance.mahalanobis([2, 0, 0], [0, 1, 0], iv)
1.7320508075688772
在新标签页中打开