本文摘自php中文网,作者php中世界最好的语言,侵删。
这次给大家带来Python怎么实现马氏距离,Python实现马氏距离算法的注意事项有哪些,下面就是实战案例,一起来看一下。本文实例讲述了Python实现的计算马氏距离算法。分享给大家供大家参考,具体如下:

我给写成函数调用了
python实现马氏距离源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # 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)
|
运行结果:

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
python字符串如何转为二维数组
Event emitter的监听事件
以上就是Python怎么实现马氏距离的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python怎么调用youget
知道Python 为什么要有 pass 语句?
Python中tornado下websocket客户端编程的介绍
Python用函数怎么判断大小写
Python实现爬虫设置代理ip和伪装成浏览器的方法分享
如何在Python中打印单个和多个变量?
Python中单下划线和双下划线有什么区别
Python怎么安装opencv
什么是Python中唯一的映射类型
linux下修改Python命令的方法示例(附代码)
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python怎么实现马氏距离