Python怎么实现马氏距离


本文摘自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中的控制结构有哪些

Python中的并发处理之asyncio包使用的详解_Python

Python字典之中len方法是什么?len方法有什么作用?

Python使用迭代器捕获generator返回值的方法

Python中回调的含义详解

Python和selenium开发环境搭建的图文教程

Python利用smtplib实现qq邮箱发送邮件

Python怎么画矩形

Python可以做app么

Python怎么处理dataframe的时间字段

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...