scipy.spatial.distance.
mahalanobis#
- scipy.spatial.distance.mahalanobis(u, v, VI)[source]#
计算两个一维数组之间的马氏距离。
一维数组 u 和 v 之间的马氏距离定义为:
\[\sqrt{ (u-v) V^{-1} (u-v)^T }\]其中
V
是协方差矩阵。请注意,参数 VI 是V
的逆矩阵。- 参数:
- u(N,) array_like
输入数组。
- v(N,) array_like
输入数组。
- VIarray_like
协方差矩阵的逆矩阵。
- 返回值:
- mahalanobisdouble
向量 u 和 v 之间的马氏距离。
示例
>>> 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