马氏距离python
时间: 2023-11-03 22:03:20 浏览: 110
Python实现的计算马氏距离算法示例
5星 · 资源好评率100%
马氏距离是一种用于衡量两个样本之间相似性的指标,它考虑了各个特征之间的相关性。在Python中,可以使用numpy库来计算马氏距离。下面是一个示例代码:
```python
import numpy as np
def mahalanobis_distance(x, y):
# 将样本转化为矩阵形式
X = np.vstack([x, y])
# 计算协方差矩阵
S = np.cov(X)
# 计算协方差矩阵的逆矩阵
SI = np.linalg.inv(S)
# 计算马氏距离
delta = X[0] - X[1]
d = np.sqrt(np.dot(np.dot(delta, SI), delta.T))
return d
if __name__ == '__main__':
x = [3, 5, 2, 8]
y = [4, 6, 2, 4]
distance = mahalanobis_distance(x, y)
print(distance)
```
这段代码定义了一个名为mahalanobis_distance的函数,该函数接受两个样本x和y作为输入,并返回它们之间的马氏距离。在主函数中,我们给出了两个示例样本x和y,并调用mahalanobis_distance函数来计算它们之间的马氏距离。
阅读全文