Cette fois, je vais vous expliquer comment implémenter la distance Mahalanobis en Python et quelles sont les précautions pour implémenter l'algorithme de distance Mahalanobis en Python Voici un cas pratique, prenons un. regarder.
L'exemple de cet article décrit le calcul de l'algorithme de distance Mahalanobis implémenté en Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
J'ai écrit la fonction et j'ai appelé l'implémentation
python du code source à distance Mahalanobis :
# 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)
Résultats d'exploitation :
Je crois que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour plus d'informations intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois !
Lecture recommandée :
Comment convertir une chaîne python en un tableau bidimensionnel
Événement d'écoute de l'émetteur d'événement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!