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 基础学习教程
Feb 08 Python
零基础写python爬虫之爬虫框架Scrapy安装配置
Nov 06 Python
Python多线程编程(八):使用Event实现线程间通信
Apr 05 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
使用Python写一个量化股票提醒系统
Aug 22 Python
Django网络框架之HelloDjango项目创建教程
Jun 06 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
Mar 09 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
python实现暗通道去雾算法的示例
Sep 27 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
详解python中的异常捕获
Dec 15 Python
使用scrapy实现增量式爬取方式
Jun 21 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学习 函数 课件
2008/06/15 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
2013/08/05 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
js 自制滚动条的小例子
2013/03/16 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
微信小程序文章列表功能完整实例
2020/06/03 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python实现BackPropagation算法
2017/12/14 Python
python中的json总结
2018/10/11 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
企业党员岗位承诺书
2015/04/27 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android