熱線電話:13121318867

登錄
首頁精彩閱讀Python實現的計算馬氏距離算法示例
Python實現的計算馬氏距離算法示例
2018-06-16
收藏

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)

運行結果:

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢