Home > Article > Backend Development > How to implement Mahalanobis distance in Python
This time I will bring you PythonHow to implement the Mahalanobis distance, what are the precautions for implementing the Mahalanobis distance algorithm in Python, the following is a practical case, let's take a look.
The example in this article describes the calculation of Mahalanobis distance algorithm implemented in Python. Share it with everyone for your reference, the details are as follows:
I wrote the function and called
python to implement the Mahalanobis distance source code :
# encoding: utf-8 from future import pision import sys reload(sys) sys.setdefaultencoding('utf-8') import numpy as np def mashi_distance(x,y): print x print y #马氏距离要求样本数要大于维数,否则无法求协方差矩阵 #此处进行转置,表示10个样本,每个样本2维 X=np.vstack([x,y]) print X XT=X.T print XT #方法一:根据公式求解 S=np.cov(X) #两个维度之间协方差矩阵 SI = np.linalg.inv(S) #协方差矩阵的逆矩阵 #马氏距离计算两个样本之间的距离,此处共有4个样本,两两组合,共有6个距离。 n=XT.shape[0] d1=[] for i in range(0,n): for j in range(i+1,n): delta=XT[i]-XT[j] d=np.sqrt(np.dot(np.dot(delta,SI),delta.T)) print d d1.append(d) if name == 'main': # 第一列 x = [3, 5, 2, 8] # 第二列 y = [4, 6, 2, 4] mashi_distance(x,y)
Running results:
# I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
How to convert a python string into a two-dimensional array
Event emitter’s listening event
The above is the detailed content of How to implement Mahalanobis distance in Python. For more information, please follow other related articles on the PHP Chinese website!