• 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)

    运行结果:

     

  • 相关阅读:
    ugui点击穿透判断
    c#字符串代码,动态创建编译器
    github项目分享
    unity 2d 版的lookAt
    unity全屏截图
    shader例子
    AcWing 329. 围栏障碍训练场
    AcWing 326. XOR和路径
    AcWing 324. 贿赂FIPA
    AcWing 322. 消木块
  • 原文地址:https://www.cnblogs.com/amengduo/p/9586359.html
Copyright © 2020-2023  润新知