首页 > 编程 > Python > 正文

Python实现的计算马氏距离算法示例

2020-01-04 15:31:20
字体:
来源:转载
供稿:网友

本文实例讲述了Python实现的计算马氏距离算法。分享给大家供大家参考,具体如下:

Python,计算,马氏距离,算法

我给写成函数调用了

python实现马氏距离源代码:

# encoding: utf-8from __future__ import divisionimport sysreload(sys)sys.setdefaultencoding('utf-8')import numpy as npdef 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)

运行结果:

Python,计算,马氏距离,算法

 

希望本文所述对大家Python程序设计有所帮助。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表