zoukankan      html  css  js  c++  java
  • Python实现的计算马氏距离算法示例

    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)

    运行结果:

     

  • 相关阅读:
    CodeForces
    EOJ 3506. 斐波那契数列
    牛客练习赛13 D幸运数字Ⅳ . 康托逆展开
    UVA
    Piggy-Bank HDU
    Dollar Dayz POJ
    UVA 674 Coin Change (完全背包)
    python OOP (1)
    python lambda简易使用
    python whl模块安装方法
  • 原文地址:https://www.cnblogs.com/amengduo/p/9586360.html
Copyright © 2011-2022 走看看