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实现的多线程同步与互斥锁功能示例
Nov 30 Python
Python自定义简单图轴简单实例
Jan 08 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
Python 可变类型和不可变类型及引用过程解析
Sep 27 Python
Python中类似于jquery的pyquery库用法分析
Dec 02 Python
Python 使用 prettytable 库打印表格美化输出功能
Dec 26 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
python变量的作用域是什么
May 26 Python
分析Python list操作为什么会错误
Nov 17 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
百度实时推送api接口应用示例
2014/10/21 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
取键盘键位ASCII码的网页
2007/07/30 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
深入理解python try异常处理机制
2016/06/01 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
外贸业务员求职信范文
2013/12/12 职场文书
大学生创业感言
2014/01/25 职场文书
车队司机自我鉴定
2014/03/02 职场文书
财务会计实训报告
2014/11/05 职场文书
2016年春节慰问信息
2015/03/25 职场文书
创业计划书详解
2019/07/19 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
MYSQL如何查看操作日志详解
2022/05/30 MySQL