Calculer la distance euclidienne en Python
- Utilisez le module NumPy pour trouver la distance euclidienne entre deux points
-
Utilisez la fonction
distance.euclidean()
pour trouver la distance euclidienne entre deux points -
Utilisez la fonction
math.dist()
pour trouver la distance euclidienne entre deux points
Dans le monde des mathématiques, la distance la plus courte entre deux points dans n’importe quelle dimension est appelée la distance euclidienne. C’est la racine carrée de la somme des carrés de la différence entre deux points.
En Python, les modules numpy, scipy sont très bien équipés de fonctions pour effectuer des opérations mathématiques et calculer ce segment de ligne entre deux points.
Dans ce didacticiel, nous aborderons différentes méthodes pour calculer la distance euclidienne entre les coordonnées.
Utilisez le module NumPy pour trouver la distance euclidienne entre deux points
Le module numpy peut être utilisé pour trouver la distance requise lorsque les coordonnées sont sous la forme d’un tableau. Il a la fonction norm()
, qui peut renvoyer la norme vectorielle d’un tableau. Cela peut aider à calculer la distance euclidienne entre deux coordonnées, comme indiqué ci-dessous.
import numpy as np
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
dist = np.linalg.norm(a - b)
print(dist)
Production:
5.196152422706632
Nous pouvons également implémenter directement la formule mathématique en utilisant le module numpy. Pour cette méthode, nous utiliserons la fonction numpy.sum()
, qui retourne la somme des éléments, et la fonction numpy.square()
retournera le carré des éléments.
import numpy as np
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
dist = np.sqrt(np.sum(np.square(a - b)))
print(dist)
Production:
5.196152422706632
La fonction numpy.sqrt()
fournit la racine carrée de la valeur.
Une autre manière d’implémenter la formule de distance euclidienne consiste à utiliser la fonction dot()
. On peut trouver le produit scalaire de la différence de points et sa transposition, retournant la somme des carrés.
Par example,
import numpy as np
a = np.array((1, 2, 3))
b = np.array((4, 5, 6))
temp = a - b
dist = np.sqrt(np.dot(temp.T, temp))
print(dist)
Production:
5.196152422706632
Utilisez la fonction distance.euclidean()
pour trouver la distance euclidienne entre deux points
Nous avons discuté de différentes méthodes pour calculer la distance euclidienne à l’aide du module numpy. Cependant, ces méthodes peuvent être un peu lentes, nous avons donc une alternative plus rapide disponible.
La bibliothèque scipy a de nombreuses fonctions pour le calcul mathématique et scientifique. La fonction distance.euclidean()
renvoie la distance euclidienne entre deux points.
Par example,
from scipy.spatial import distance
a = (1, 2, 3)
b = (4, 5, 6)
print(distance.euclidean(a, b))
Production:
5.196152422706632
Utilisez la fonction math.dist()
pour trouver la distance euclidienne entre deux points
Le module math
peut également être utilisé comme alternative. La fonction dist()
de ce module peut renvoyer le segment de ligne entre deux points.
Par example,
from math import dist
a = (1, 2, 3)
b = (4, 5, 6)
print(dist(a, b))
Production:
5.196152422706632
Les méthodes des modules scipy
et math
sont une alternative plus rapide aux méthodes numpy et fonctionnent lorsque les coordonnées sont sous la forme d’un tuple ou d’une liste.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn