ホームページ >バックエンド開発 >Python チュートリアル >Python でマハラノビス距離を実装する方法
今回は、Pythonマハラノビス距離の実装方法と、Pythonでマハラノビス距離アルゴリズムを実装するための注意点についてお届けします。実際のケースを見てみましょう。
この記事の例では、Python で実装されたマハラノビス距離アルゴリズムの計算について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
私は関数を書き、
pythonを呼び出してマハラノビス距離を実装しましたソースコード:
# encoding: utf-8 from future import pision 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)
実行結果:
と思いますこの記事のケースを読みました。この方法をマスターしました。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨書籍:
以上がPython でマハラノビス距離を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。