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


Posted in Python onApril 03, 2018

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

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

我给写成函数调用了

python实现马氏距离源代码:

# encoding: utf-8
from __future__ import division
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)

运行结果:

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

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

Python 相关文章推荐
python之Socket网络编程详解
Sep 29 Python
解决Python requests 报错方法集锦
Mar 19 Python
python使用super()出现错误解决办法
Aug 14 Python
python制作图片缩略图
Apr 30 Python
python3对接mysql数据库实例详解
Apr 30 Python
基于h5py的使用及数据封装代码
Dec 26 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
python操作微信自动发消息的实现(微信聊天机器人)
Jul 14 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
详解python polyscope库的安装和例程
Nov 13 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 #Python
快速解决安装python没有scripts文件夹的问题
Apr 03 #Python
Python中将变量按行写入txt文本中的方法
Apr 03 #Python
python使用tensorflow深度学习识别验证码
Apr 03 #Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 #Python
python中实现数组和列表读取一列的方法
Apr 03 #Python
numpy.delete删除一列或多列的方法
Apr 03 #Python
You might like
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
用PHP实现递归循环每一个目录
2010/08/08 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
提高php编程效率技巧
2015/08/13 PHP
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
Seajs的学习笔记
2014/03/04 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
python Tcp协议发送和接收信息的例子
2019/07/22 Python
python 循环数据赋值实例
2019/12/02 Python
Python调用Redis的示例代码
2020/11/24 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
公务员总结性个人自我评价
2013/12/05 职场文书
一年级家长会邀请函
2014/01/25 职场文书
食品安全工作方案
2014/05/07 职场文书
学校教研活动总结
2014/07/02 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python