马氏距离 java实现_Python怎么实现马氏距离

本文通过实例代码介绍了Python如何计算马氏距离,包括计算协方差矩阵、逆矩阵等步骤。文中给出了详细的代码解释,并提供了运行示例。
摘要由CSDN通过智能技术生成

这次给大家带来Python怎么实现马氏距离,Python实现马氏距离算法的注意事项有哪些,下面就是实战案例,一起来看一下。

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

3307b85228adc450210d1a0d745861fb.png

我给写成函数调用了

python实现马氏距离源代码:# 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)

运行结果:

2548bdb2483524e24513df16844a1cd2.png

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值